djencks     2005/06/17 03:25:10

  Modified:    modules/core/src/java/org/openejb/corba/security/config/css
                        CSSSASITTPrincipalNameDynamic.java
  Log:

  Make CSS ITT principal get subject from ContextManager.  Implement SAS layer 
principal identity propagation
  
  Revision  Changes    Path
  1.2       +11 -8     
openejb/modules/core/src/java/org/openejb/corba/security/config/css/CSSSASITTPrincipalNameDynamic.java
  
  Index: CSSSASITTPrincipalNameDynamic.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/security/config/css/CSSSASITTPrincipalNameDynamic.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CSSSASITTPrincipalNameDynamic.java        2 Apr 2005 01:28:48 -0000       
1.1
  +++ CSSSASITTPrincipalNameDynamic.java        17 Jun 2005 07:25:10 -0000      
1.2
  @@ -48,6 +48,7 @@
   import java.security.PrivilegedAction;
   import java.util.Iterator;
   import java.util.Set;
  +import java.util.Collections;
   import javax.security.auth.Subject;
   
   import org.omg.CORBA.Any;
  @@ -58,6 +59,7 @@
   
   import org.apache.geronimo.security.PrimaryRealmPrincipal;
   import org.apache.geronimo.security.RealmPrincipal;
  +import org.apache.geronimo.security.ContextManager;
   
   import org.openejb.corba.util.Util;
   
  @@ -83,12 +85,13 @@
   
           IdentityToken token = null;
           RealmPrincipal principal = null;
  -        Set principals = (Set) AccessController.doPrivileged(new 
PrivilegedAction() {
  -            public Object run() {
  -                Subject subject = 
Subject.getSubject(AccessController.getContext());
  -                return subject.getPrincipals(RealmPrincipal.class);
  -            }
  -        });
  +        Subject subject = ContextManager.getCurrentCaller();
  +        Set principals;
  +        if (subject == null) {
  +            principals = Collections.EMPTY_SET;
  +        } else {
  +            principals = subject.getPrincipals(RealmPrincipal.class);
  +        }
   
           if (principals.size() != 0) {
               for (Iterator iter = principals.iterator(); iter.hasNext();) {
  
  
  

Reply via email to