[jboss-cvs] JBossAS SVN: r74552 - projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 13 17:22:47 EDT 2008


Author: anil.saldhana at jboss.com
Date: 2008-06-13 17:22:47 -0400 (Fri, 13 Jun 2008)
New Revision: 74552

Modified:
   projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java
Log:
SECURITY-234: inject authzmgr into JaasSecurityManagerBase

Modified: projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java	2008-06-13 20:42:43 UTC (rev 74551)
+++ projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java	2008-06-13 21:22:47 UTC (rev 74552)
@@ -215,6 +215,7 @@
     */
    protected Logger log;
    protected boolean trace;
+   private AuthorizationManager authorizationManager;
 
    /** Creates a default JaasSecurityManager for with a securityDomain
     name of 'other'.
@@ -275,6 +276,15 @@
       this.deepCopySubjectOption = (flag == Boolean.TRUE) ;
    } 
    
+   /**
+    * Set an AuthorizationManager
+    * @param authorizationManager
+    */
+   public void setAuthorizationManager(AuthorizationManager authorizationManager)
+   {
+      this.authorizationManager = authorizationManager;
+   }
+   
    /** Not really used anymore as the security manager service manages the
     security domain authentication caches.
     */
@@ -410,9 +420,17 @@
     */
    public boolean doesUserHaveRole(Principal principal, Set<Principal> rolePrincipals)
    { 
-      AuthorizationManager am = SecurityUtil.getAuthorizationManager(securityDomain, 
-            SecurityConstants.JAAS_CONTEXT_ROOT);
-      return am.doesUserHaveRole(principal, rolePrincipals); 
+      if(this.authorizationManager == null)
+      {
+         this.authorizationManager = SecurityUtil.getAuthorizationManager(securityDomain, 
+               SecurityConstants.JAAS_CONTEXT_ROOT); 
+      }
+      if(this.authorizationManager == null)
+      {
+         log.trace("doesUserHaveRole:AuthorizationManager is null");
+         return false;
+      }
+      return authorizationManager.doesUserHaveRole(principal, rolePrincipals); 
    } 
 
    /** Return the set of domain roles the current active Subject 'Roles' group
@@ -426,9 +444,17 @@
    @SuppressWarnings("deprecation")
    public Set<Principal> getUserRoles(Principal principal)
    {
-      AuthorizationManager am = SecurityUtil.getAuthorizationManager(securityDomain,
-            SecurityConstants.JAAS_CONTEXT_ROOT);
-      return am.getUserRoles(principal);
+      if(this.authorizationManager == null)
+      {
+         this.authorizationManager = SecurityUtil.getAuthorizationManager(securityDomain, 
+               SecurityConstants.JAAS_CONTEXT_ROOT); 
+      }
+      if(this.authorizationManager == null)
+      {
+         log.trace("doesUserHaveRole:AuthorizationManager is null");
+         return null;
+      }
+      return authorizationManager.getUserRoles(principal);
    } 
    
    /**




More information about the jboss-cvs-commits mailing list