[Jboss-cvs] JBossAS SVN: r56355 - trunk/security/src/main/org/jboss/security/authorization/config

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Aug 28 16:48:45 EDT 2006


Author: anil.saldhana at jboss.com
Date: 2006-08-28 16:48:44 -0400 (Mon, 28 Aug 2006)
New Revision: 56355

Modified:
   trunk/security/src/main/org/jboss/security/authorization/config/SecurityConfigObjectModelFactory.java
Log:
JBAS-3577: Role Mapping + Mapping Framework

Modified: trunk/security/src/main/org/jboss/security/authorization/config/SecurityConfigObjectModelFactory.java
===================================================================
--- trunk/security/src/main/org/jboss/security/authorization/config/SecurityConfigObjectModelFactory.java	2006-08-28 20:48:16 UTC (rev 56354)
+++ trunk/security/src/main/org/jboss/security/authorization/config/SecurityConfigObjectModelFactory.java	2006-08-28 20:48:44 UTC (rev 56355)
@@ -27,6 +27,9 @@
 import org.jboss.security.authorization.config.AuthorizationModuleEntry.ControlFlag;
 import org.jboss.security.config.ApplicationPolicy;
 import org.jboss.security.config.AuthorizationInfo;
+import org.jboss.security.config.MappingInfo;
+import org.jboss.security.config.RoleMappingInfo;
+import org.jboss.security.mapping.config.MappingModuleEntry;
 import org.jboss.util.StringPropertyReplacer;
 import org.jboss.xb.binding.UnmarshallingContext;
 import org.xml.sax.Attributes;
@@ -35,8 +38,8 @@
 
 /**
  *  JBossXB Object Factory capable of parsing the security configuration
- *  file that can include both authentication and authorization module
- *  configuration
+ *  file that can include both authentication,authorization and mapping 
+ *  module configuration
  *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
  *  @since  Jun 9, 2006 
  *  @version $Revision$
@@ -55,6 +58,13 @@
       {
          child = new AuthorizationInfo(aPolicy.getName());  
       } 
+      else
+         if(child == null && "rolemapping".equals(localName))
+         {
+            MappingInfo mi = new MappingInfo();
+            mi.setName(aPolicy.getName());
+            child = mi;  
+         }
       return child;
    }
    
@@ -63,7 +73,7 @@
    {
       Object child = null;
       if( trace )
-         log.trace("newChild.AuthenticationInfo, localName: "+localName);
+         log.trace("newChild.AuthorizationInfo, localName: "+localName);
       if("policy-module".equals(localName))
       {
          String code = attrs.getValue("code");
@@ -148,5 +158,64 @@
       if( trace )
          log.trace("addChild.AuthorizationModuleEntry, name: "+option.getName());
    }
-
+   
+   //RoleMapping
+   public Object newChild(MappingInfo info, UnmarshallingContext navigator,
+         String namespaceUri, String localName, Attributes attrs)
+   {
+      Object child = null;
+      if( trace )
+         log.trace("newChild.RoleMappingInfo, localName: "+localName);
+      if("mapping-module".equals(localName))
+      {
+         String code = attrs.getValue("code");
+         code = StringPropertyReplacer.replaceProperties(code.trim()); 
+         MappingModuleEntry entry = new MappingModuleEntry(code);  
+         child = entry;
+         if( trace )
+            log.trace("newChild.RoleMappingInfo, mapping-module code: "+code);
+      }
+      
+      return child;
+   }
+   
+   public Object newChild(MappingModuleEntry entry, 
+         UnmarshallingContext navigator,
+         String namespaceUri, String localName, Attributes attrs)
+   {
+      Object child = null;
+      if( trace )
+         log.trace("newChild.AppConfigurationEntryHolder, localName: "+localName);
+      if("module-option".equals(localName))
+      {
+         String name = attrs.getValue("name");         
+         child = new ModuleOption(name);
+         if( trace )
+            log.trace("newChild.AuthModuleEntry, module-option name: "+name);
+      }
+      
+      return child;
+   }
+   
+   public void addChild(ApplicationPolicy aPolicy, MappingInfo authInfo,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      aPolicy.setRoleMappingInfo(authInfo);  
+      if(trace)
+         log.trace("addChild.ApplicationPolicy, name: " + aPolicy.getName());
+   } 
+   
+   public void addChild(MappingModuleEntry entry , ModuleOption option,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      entry.add(option);
+      if( trace )
+         log.trace("addChild.AuthorizationModuleEntry, name: "+option.getName());
+   }
+   
+   public void addChild(MappingInfo authInfo, MappingModuleEntry entry ,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      authInfo.add(entry); 
+   } 
 }




More information about the jboss-cvs-commits mailing list