[jboss-cvs] JBossAS SVN: r72471 - projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Apr 21 00:07:59 EDT 2008
Author: anil.saldhana at jboss.com
Date: 2008-04-21 00:07:59 -0400 (Mon, 21 Apr 2008)
New Revision: 72471
Modified:
projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/ClientLoginModule.java
projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/SecurityAssociationActions.java
Log:
SECURITY-199: client login module does legacy SA subject ctx push for client side usage
Modified: projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/ClientLoginModule.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/ClientLoginModule.java 2008-04-21 01:22:30 UTC (rev 72470)
+++ projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/ClientLoginModule.java 2008-04-21 04:07:59 UTC (rev 72471)
@@ -88,6 +88,8 @@
/** To restore prelogin identity **/
private SecurityContext cachedSecurityContext;
+
+ private boolean serverMode = false;
/** Initialize this LoginModule. This checks for the options:
multi-threaded
@@ -117,6 +119,7 @@
if(trace)
log.trace("Enabling multi-threaded mode");
SecurityAssociationActions.setServer();
+ this.serverMode = true;
}
flag = (String) options.get("restore-login-identity");
@@ -230,7 +233,12 @@
SecurityAssociationActions.pushSecurityContext(loginPrincipal,
loginCredential, subject, "CLIENT_LOGIN_MODULE");
+
// Set the login principal and credential and subject
+ if(!this.serverMode)
+ SecurityAssociationActions.setLegacySecurityAssociationSubjectContext(loginPrincipal,
+ loginCredential, subject);
+
//SecurityAssociationActions.setPrincipalInfo(loginPrincipal, loginCredential, subject);
// Add the login principal to the subject if is not there
Modified: projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/SecurityAssociationActions.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/SecurityAssociationActions.java 2008-04-21 01:22:30 UTC (rev 72470)
+++ projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/SecurityAssociationActions.java 2008-04-21 04:07:59 UTC (rev 72471)
@@ -24,6 +24,8 @@
import java.security.AccessController;
import java.security.Principal;
import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import javax.security.auth.Subject;
@@ -205,4 +207,28 @@
return credential;
}
-}
+ static void setLegacySecurityAssociationSubjectContext(final Principal principal,
+ final Object credential, final Subject subject)
+ {
+ AccessController.doPrivileged(new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ SecurityAssociation.pushSubjectContext(subject, principal, credential);
+ return null;
+ }
+ });
+ }
+
+ static SecurityContext createSecurityContext(final String securityDomain)
+ throws PrivilegedActionException
+ {
+ return AccessController.doPrivileged(new PrivilegedExceptionAction<SecurityContext>()
+ {
+ public SecurityContext run() throws Exception
+ {
+ return SecurityContextFactory.createSecurityContext(securityDomain);
+ }
+ });
+ }
+}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list