[jboss-cvs] JBossAS SVN: r63160 - projects/security/security-jboss-sx/tags/2.0.0.GA/src/main/org/jboss/security/plugins/authorization.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat May 19 04:45:29 EDT 2007


Author: anil.saldhana at jboss.com
Date: 2007-05-19 04:45:29 -0400 (Sat, 19 May 2007)
New Revision: 63160

Modified:
   projects/security/security-jboss-sx/tags/2.0.0.GA/src/main/org/jboss/security/plugins/authorization/JBossAuthorizationContext.java
Log:
provide default authorization info

Modified: projects/security/security-jboss-sx/tags/2.0.0.GA/src/main/org/jboss/security/plugins/authorization/JBossAuthorizationContext.java
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.0.GA/src/main/org/jboss/security/plugins/authorization/JBossAuthorizationContext.java	2007-05-19 08:40:07 UTC (rev 63159)
+++ projects/security/security-jboss-sx/tags/2.0.0.GA/src/main/org/jboss/security/plugins/authorization/JBossAuthorizationContext.java	2007-05-19 08:45:29 UTC (rev 63160)
@@ -37,6 +37,7 @@
 import org.jboss.security.authorization.ResourceType;
 import org.jboss.security.authorization.config.AuthorizationModuleEntry;
 import org.jboss.security.authorization.config.AuthorizationModuleEntry.ControlFlag;
+import org.jboss.security.authorization.modules.DelegatingAuthorizationModule;
 import org.jboss.security.config.ApplicationPolicy;
 import org.jboss.security.config.AuthorizationInfo;
 import org.jboss.security.config.SecurityConfiguration;
@@ -309,7 +310,27 @@
       
       AuthorizationInfo ai = aPolicy.getAuthorizationInfo();
       if(ai == null)
-         throw new IllegalStateException("Authorization Info not present for domain="+ domainName);
-      return aPolicy.getAuthorizationInfo();
+         return getAuthorizationInfo(layer);
+      else 
+         return aPolicy.getAuthorizationInfo();
    } 
+   
+   private AuthorizationInfo getAuthorizationInfo(ResourceType layer)
+   {
+      AuthorizationInfo ai = null;
+      
+      if(layer == ResourceType.EJB)
+         ai = SecurityConfiguration.getApplicationPolicy(SecurityConstants.DEFAULT_EJB_APPLICATION_POLICY).getAuthorizationInfo();
+      else
+         if(layer == ResourceType.WEB)
+            ai = SecurityConfiguration.getApplicationPolicy(SecurityConstants.DEFAULT_WEB_APPLICATION_POLICY).getAuthorizationInfo();
+         else
+         {
+            if(log.isTraceEnabled())
+               log.trace("AuthorizationInfo not found. Providing default authorization info");
+            ai = new AuthorizationInfo(SecurityConstants.DEFAULT_APPLICATION_POLICY);
+            ai.add(new AuthorizationModuleEntry(DelegatingAuthorizationModule.class.getName()));
+         }
+      return ai;
+   }
 }




More information about the jboss-cvs-commits mailing list