01: /**
02: * JOnAS: Java(TM) Open Application Server
03: * Copyright (C) 1999-2004 Bull S.A.
04: * Contact: jonas-team@objectweb.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19: * USA
20: * --------------------------------------------------------------------------
21: * $Id: JonasSecurityReceiver.java 4804 2004-05-25 15:13:29Z benoitf $
22: * --------------------------------------------------------------------------
23: *
24: */package org.objectweb.jonas.security.interceptors.jeremie;
25:
26: import org.objectweb.security.propagation.SecurityReceiver;
27: import org.objectweb.security.context.SecurityCurrent;
28: import org.objectweb.security.context.SecurityContext;
29:
30: /**
31: * This class represents the implementation of a SecurityReceiver in JOnAS.
32: * @author Jeff Mesnil
33: */
34: public class JonasSecurityReceiver implements SecurityReceiver {
35:
36: /**
37: * Empty constructor
38: */
39: public JonasSecurityReceiver() {
40: }
41:
42: public void received_request(int request_id, SecurityContext ctx) {
43: // Gets SecurityCurrent object (always existing in JOnAS Server)
44: SecurityCurrent current = SecurityCurrent.getCurrent();
45: if (current == null) {
46: return;
47: }
48: // Associates the current thread with this security context
49: current.setSecurityContext(ctx);
50: }
51:
52: public SecurityContext sending_reply(int request_id) {
53: // Gets Current object (always existing in JOnAS Server)
54: SecurityCurrent current = SecurityCurrent.getCurrent();
55: if (current == null) {
56: return null;
57: }
58: // Get the Security Context
59: SecurityContext ctx = current.getSecurityContext();
60: // associates the current thread with a new default SecurityContext
61: current.setSecurityContext(new SecurityContext());
62: //System.out.println ("JOnAS send a reply : "+
63: // ctx.getCallerPrincipal().getName()) ;
64: return ctx;
65: }
66: }
|