[jboss-cvs] JBossAS SVN: r62470 - projects/security/security-jboss-sx/trunk/src/main/org/jboss/security.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Apr 21 02:44:16 EDT 2007
Author: anil.saldhana at jboss.com
Date: 2007-04-21 02:44:16 -0400 (Sat, 21 Apr 2007)
New Revision: 62470
Modified:
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociationActions.java
Log:
security context work
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociationActions.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociationActions.java 2007-04-21 06:43:29 UTC (rev 62469)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociationActions.java 2007-04-21 06:44:16 UTC (rev 62470)
@@ -28,6 +28,8 @@
import javax.security.auth.Subject;
import org.jboss.security.SecurityAssociation;
+import org.jboss.security.plugins.SecurityContextAssociation;
+import org.jboss.security.plugins.SecurityContextFactory;
/** A PrivilegedAction implementation for setting the SecurityAssociation
* principal and credential
@@ -50,7 +52,14 @@
}
public Object run()
{
- SecurityAssociation.pushSubjectContext(subject, principal, credential);
+ //SecurityAssociation.pushSubjectContext(subject, principal, credential);
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ if(sc == null)
+ {
+ sc = SecurityContextFactory.createSecurityContext(principal,
+ credential, subject, "CLIENT_PROXY");
+ }
+ SecurityContextAssociation.setSecurityContext(sc);
credential = null;
principal = null;
subject = null;
@@ -61,7 +70,8 @@
{
public Object run()
{
- SecurityAssociation.popSubjectContext();
+ //SecurityAssociation.popSubjectContext();
+ SecurityContextAssociation.clearSecurityContext();
return null;
}
}
@@ -80,6 +90,7 @@
public Object run()
{
SecurityAssociation.clear();
+ SecurityContextAssociation.clearSecurityContext();
return null;
}
}
@@ -110,6 +121,44 @@
return credential;
}
}
+
+ static void setSecurityContext(final SecurityContext sc)
+ {
+ AccessController.doPrivileged(new PrivilegedAction()
+ {
+ public Object run()
+ {
+ SecurityContextAssociation.setSecurityContext(sc);
+ return null;
+ }
+ });
+ }
+
+ static SecurityContext getSecurityContext()
+ {
+ return (SecurityContext)AccessController.doPrivileged(new PrivilegedAction()
+ {
+ public Object run()
+ {
+ return SecurityContextAssociation.getSecurityContext();
+ }
+ });
+ }
+
+ static void pushSecurityContext(final Principal p, final Object cred,
+ final Subject subject, final String securityDomain)
+ {
+ AccessController.doPrivileged(new PrivilegedAction()
+ {
+ public Object run()
+ {
+ SecurityContext sc = SecurityContextFactory.createSecurityContext(p, cred,
+ subject, securityDomain);
+ SecurityContextAssociation.setSecurityContext(sc);
+ return null;
+ }
+ });
+ }
static void setPrincipalInfo(Principal principal, Object credential, Subject subject)
{
More information about the jboss-cvs-commits
mailing list