[Jboss-cvs] JBossAS SVN: r56353 - trunk/security/src/main/org/jboss/security/config
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Aug 28 16:47:08 EDT 2006
Author: anil.saldhana at jboss.com
Date: 2006-08-28 16:47:07 -0400 (Mon, 28 Aug 2006)
New Revision: 56353
Added:
trunk/security/src/main/org/jboss/security/config/MappingInfo.java
trunk/security/src/main/org/jboss/security/config/RoleMappingInfo.java
Modified:
trunk/security/src/main/org/jboss/security/config/ApplicationPolicy.java
trunk/security/src/main/org/jboss/security/config/ApplicationPolicyContainer.java
Log:
JBAS-3577: Role Mapping + Mapping Framework
Modified: trunk/security/src/main/org/jboss/security/config/ApplicationPolicy.java
===================================================================
--- trunk/security/src/main/org/jboss/security/config/ApplicationPolicy.java 2006-08-28 20:45:50 UTC (rev 56352)
+++ trunk/security/src/main/org/jboss/security/config/ApplicationPolicy.java 2006-08-28 20:47:07 UTC (rev 56353)
@@ -36,6 +36,7 @@
private String name;
private BaseAuthenticationInfo authenticationInfo;
private AuthorizationInfo authorizationInfo;
+ private MappingInfo roleMappingInfo;
//Parent PolicyConfig
private PolicyConfig policyConfig;
@@ -83,8 +84,18 @@
public void setAuthorizationInfo(AuthorizationInfo authorizationInfo)
{
this.authorizationInfo = authorizationInfo;
+ }
+
+ public MappingInfo getRoleMappingInfo()
+ {
+ return roleMappingInfo;
}
+ public void setRoleMappingInfo(MappingInfo roleMappingInfo)
+ {
+ this.roleMappingInfo = roleMappingInfo;
+ }
+
public String getName()
{
return name;
Modified: trunk/security/src/main/org/jboss/security/config/ApplicationPolicyContainer.java
===================================================================
--- trunk/security/src/main/org/jboss/security/config/ApplicationPolicyContainer.java 2006-08-28 20:45:50 UTC (rev 56352)
+++ trunk/security/src/main/org/jboss/security/config/ApplicationPolicyContainer.java 2006-08-28 20:47:07 UTC (rev 56353)
@@ -37,7 +37,7 @@
import org.jboss.security.auth.login.JASPIAuthenticationInfo;
import org.jboss.security.auth.login.LoginModuleStackHolder;
import org.jboss.security.authorization.config.AuthorizationConfigEntryHolder;
-import org.jboss.security.authorization.config.AuthorizationModuleEntry;
+import org.jboss.security.authorization.config.AuthorizationModuleEntry;
import org.jboss.xb.binding.GenericValueContainer;
//$Id$
@@ -58,13 +58,17 @@
String authName = null;
List authenticationModuleEntries = new ArrayList();
- List authorizationModuleEntries = new ArrayList();
+ List authorizationModuleEntries = new ArrayList();
Map loginModuleStackMap = new HashMap();
boolean isJASPIAuthentication = false;
boolean isJAASAuthentication = false;
boolean isAuthorization = false;
+ boolean containsRoleMapping = false;
+ //Mapping Info Object
+ RoleMappingInfo roleMappingInfo = null;
+
/**
* @see GenericValueContainer#addChild(javax.xml.namespace.QName, java.lang.Object)
*/
@@ -117,8 +121,24 @@
if(!authorizationModuleEntries.contains(ameEntry))
authorizationModuleEntries.add(ameEntry);
isAuthorization = true;
+ }
+ }
+
+ /**
+ * Mapping Objects are added to the Application Policy
+ *
+ * @param obj
+ */
+ public void addMappingInfo(Object obj)
+ {
+ log.debug(obj);
+ if(obj instanceof RoleMappingInfo)
+ {
+ this.roleMappingInfo = (RoleMappingInfo)obj;
+ roleMappingInfo.setName(authName);
+ this.containsRoleMapping = true;
}
- }
+ }
/**
* @see GenericValueContainer#instantiate()
@@ -127,7 +147,7 @@
{
info = new ApplicationPolicy(authName);
BaseAuthenticationInfo binfo = null;
- AuthorizationInfo ainfo = null;
+ AuthorizationInfo ainfo = null;
if(isJAASAuthentication)
{
@@ -147,6 +167,10 @@
ainfo.add(authorizationModuleEntries);
info.setAuthorizationInfo(ainfo);
}
+ if(containsRoleMapping)
+ {
+ info.setRoleMappingInfo(roleMappingInfo);
+ }
return info;
}
Added: trunk/security/src/main/org/jboss/security/config/MappingInfo.java
===================================================================
--- trunk/security/src/main/org/jboss/security/config/MappingInfo.java 2006-08-28 20:45:50 UTC (rev 56352)
+++ trunk/security/src/main/org/jboss/security/config/MappingInfo.java 2006-08-28 20:47:07 UTC (rev 56353)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.security.config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.security.auth.AuthPermission;
+
+import org.jboss.security.mapping.config.MappingModuleEntry;
+
+/**
+ *
+ * @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
+ * @version $Revision$
+ * @since Aug 28, 2006
+ */
+public class MappingInfo
+{
+
+ public static final AuthPermission GET_CONFIG_ENTRY_PERM = new AuthPermission("getLoginConfiguration");
+ public static final AuthPermission SET_CONFIG_ENTRY_PERM = new AuthPermission("setLoginConfiguration");
+ protected String name;
+ protected ArrayList moduleEntries = new ArrayList();
+
+ public MappingInfo()
+ {
+ super();
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void add(List moduleEntries)
+ {
+ this.moduleEntries.addAll(moduleEntries);
+ }
+
+ public void add(MappingModuleEntry ame)
+ {
+ moduleEntries.add(ame);
+ }
+
+ public MappingModuleEntry[] getMappingModuleEntry()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if( sm != null )
+ sm.checkPermission(GET_CONFIG_ENTRY_PERM);
+ MappingModuleEntry[] entries = new MappingModuleEntry[moduleEntries.size()];
+ moduleEntries.toArray(entries);
+ return entries;
+ }
+
+ public void setName(String n)
+ {
+ this.name = n;
+ }
+}
\ No newline at end of file
Added: trunk/security/src/main/org/jboss/security/config/RoleMappingInfo.java
===================================================================
--- trunk/security/src/main/org/jboss/security/config/RoleMappingInfo.java 2006-08-28 20:45:50 UTC (rev 56352)
+++ trunk/security/src/main/org/jboss/security/config/RoleMappingInfo.java 2006-08-28 20:47:07 UTC (rev 56353)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.security.config;
+
+
+//$Id: RoleMappingInfo.java 45942 2006-06-28 02:14:46Z asaldhana $
+
+/**
+ * Holder for RoleMapping configuration
+ * @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
+ * @since August 24, 2006
+ * @version $Revision: 45942 $
+ */
+public class RoleMappingInfo extends MappingInfo
+{
+ public RoleMappingInfo(String name)
+ {
+ this.name = name;
+ }
+}
More information about the jboss-cvs-commits
mailing list