[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