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();) {