[jboss-cvs] JBossAS SVN: r85838 - in projects/security/security-standalone/trunk: idtrust-config and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Mar 13 17:04:56 EDT 2009
Author: anil.saldhana at jboss.com
Date: 2009-03-13 17:04:56 -0400 (Fri, 13 Mar 2009)
New Revision: 85838
Added:
projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/
projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/
projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/IDTrustConfiguration.java
projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/JBossSXConfigBridge.java
projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/SecurityActions.java
Removed:
projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/config/
Modified:
projects/security/security-standalone/trunk/idtrust-config/.classpath
projects/security/security-standalone/trunk/idtrust-impl/.classpath
projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuditUnitTestCase.java
projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthenticationUnitTestCase.java
projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthorizationUnitTestCase.java
projects/security/security-standalone/trunk/parent/pom.xml
projects/security/security-standalone/trunk/pom.xml
Log:
update for as4
Modified: projects/security/security-standalone/trunk/idtrust-config/.classpath
===================================================================
--- projects/security/security-standalone/trunk/idtrust-config/.classpath 2009-03-13 20:25:02 UTC (rev 85837)
+++ projects/security/security-standalone/trunk/idtrust-config/.classpath 2009-03-13 21:04:56 UTC (rev 85838)
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/jboss-idtrust-config-common"/>
<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-impl/2.1.4/jaxb-impl-2.1.4.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx-bare/2.0.3-SNAPSHOT/jbosssx-bare-2.0.3-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/security/authorization-spi/2.0.3-SNAPSHOT/authorization-spi-2.0.3-SNAPSHOT.jar" sourcepath="/M2_REPO/org/jboss/security/authorization-spi/2.0.2-SNAPSHOT/authorization-spi-2.0.2-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="target/eclipse-classes"/>
</classpath>
Added: projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/IDTrustConfiguration.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/IDTrustConfiguration.java (rev 0)
+++ projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/IDTrustConfiguration.java 2009-03-13 21:04:56 UTC (rev 85838)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.idtrust.config;
+
+import java.util.List;
+
+import javax.security.auth.login.Configuration;
+
+import org.jboss.security.auth.login.XMLLoginConfigImpl;
+import org.jboss.security.idtrust.config.AbstractIDTrustConfiguration;
+import org.jboss.security.idtrust.config.jaxb.ApplicationPolicy;
+
+/**
+ * IDTrust Configuration
+ * <a href="mailto:anil.saldhana at redhat.com>Anil Saldhana</a>
+ */
+public class IDTrustConfiguration extends AbstractIDTrustConfiguration
+{
+ private static XMLLoginConfigImpl xmlConfig = XMLLoginConfigImpl.getInstance();
+ private JBossSXConfigBridge bridge = new JBossSXConfigBridge();
+
+ public IDTrustConfiguration()
+ {
+ Configuration config = null;
+ try
+ {
+ config = Configuration.getConfiguration();
+ }
+ catch(Exception ignore) {}
+ if(config == null || !(config instanceof XMLLoginConfigImpl))
+ Configuration.setConfiguration(xmlConfig);
+ }
+
+ @Override
+ protected void addApplicationPolicies(List<org.jboss.security.idtrust.config.jaxb.ApplicationPolicy> appPoliciesList)
+ {
+ for(ApplicationPolicy aPolicy: appPoliciesList)
+ {
+ xmlConfig.addApplicationPolicy(aPolicy.getName(),
+ bridge.map(aPolicy));
+ }
+ }
+}
\ No newline at end of file
Added: projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/JBossSXConfigBridge.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/JBossSXConfigBridge.java (rev 0)
+++ projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/JBossSXConfigBridge.java 2009-03-13 21:04:56 UTC (rev 85838)
@@ -0,0 +1,189 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.idtrust.config;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.security.auth.login.AppConfigurationEntry;
+import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag;
+
+import org.jboss.security.audit.config.AuditProviderEntry;
+import org.jboss.security.auth.login.AuthenticationInfo;
+import org.jboss.security.auth.login.BaseAuthenticationInfo;
+import org.jboss.security.authorization.config.AuthorizationModuleEntry;
+import org.jboss.security.config.ApplicationPolicy;
+import org.jboss.security.config.AuditInfo;
+import org.jboss.security.config.AuthorizationInfo;
+import org.jboss.security.config.ControlFlag;
+import org.jboss.security.idtrust.config.jaxb.LoginModuleInfo;
+import org.jboss.security.idtrust.config.jaxb.ModuleOption;
+import org.jboss.security.idtrust.config.jaxb.ModuleOptionFlag;
+import org.jboss.security.idtrust.config.jaxb.PolicyModule;
+import org.jboss.security.idtrust.config.jaxb.ProviderModule;
+
+/**
+ * Bridges the JAXB Configuration to the JBossSX one
+ * <a href="mailto:anil.saldhana at redhat.com>Anil Saldhana</a>
+ * @since May 30, 2008
+ */
+public class JBossSXConfigBridge
+{
+ public ApplicationPolicy map(org.jboss.security.idtrust.config.jaxb.ApplicationPolicy appPolicy)
+ {
+ String appName = appPolicy.getName();
+ ApplicationPolicy result = new ApplicationPolicy(appName);
+ result.setAuthenticationInfo(map(appName, appPolicy.getAuthentication()));
+ result.setAuthorizationInfo(map(appName, appPolicy.getAuthorization()));
+ result.setAuditInfo(map(appName, appPolicy.getAudit()));
+ return result;
+ }
+
+ public BaseAuthenticationInfo map(String name,
+ org.jboss.security.idtrust.config.jaxb.AuthenticationInfo authenticationInfo)
+ {
+ AuthenticationInfo baseInfo = new AuthenticationInfo(name);
+ baseInfo.setAppConfigurationEntry(map(authenticationInfo.getLoginModule()));
+ return baseInfo;
+ }
+
+ public AuthorizationInfo map(String name,
+ org.jboss.security.idtrust.config.jaxb.AuthorizationInfo authorizationInfo)
+ {
+ if(authorizationInfo == null)
+ return null;
+ AuthorizationInfo authzInfo = new AuthorizationInfo(name);
+ List<PolicyModule> policyModuleList = authorizationInfo.getPolicyModule();
+ int lenOfPolicyModules = policyModuleList != null ? policyModuleList.size() : 0;
+ if(lenOfPolicyModules > 0)
+ {
+ for(PolicyModule policyModule : policyModuleList)
+ {
+ AuthorizationModuleEntry authzEntry = new AuthorizationModuleEntry(policyModule.getCode());
+ authzInfo.add(authzEntry);
+ authzEntry.setControlFlag(getControlFlag(policyModule.getFlag()));
+ authzEntry.getOptions().putAll(map(policyModule.getModuleOption()));
+ }
+ }
+ return authzInfo;
+ }
+
+ public AuditInfo map(String name, org.jboss.security.idtrust.config.jaxb.AuditInfo auditInfo)
+ {
+ if(auditInfo == null)
+ return null;
+ AuditInfo audInfo = new AuditInfo(name);
+ audInfo.add(map(auditInfo.getProviderModule()));
+ return audInfo;
+ }
+
+ public AppConfigurationEntry[]
+ map(List<org.jboss.security.idtrust.config.jaxb.LoginModuleInfo> loginModuleInfoList)
+ {
+ int index = 0;
+ AppConfigurationEntry[] entries = new AppConfigurationEntry[loginModuleInfoList.size()];
+
+ for(LoginModuleInfo loginModuleInfo : loginModuleInfoList)
+ {
+ entries[index++] = map(loginModuleInfo);
+ }
+ return entries;
+ }
+
+ public AppConfigurationEntry map(org.jboss.security.idtrust.config.jaxb.LoginModuleInfo loginModuleInfo)
+ {
+ String moduleName = loginModuleInfo.getCode();
+ ModuleOptionFlag flag = loginModuleInfo.getFlag();
+ List<ModuleOption> moduleOptionList = loginModuleInfo.getModuleOption();
+ return new AppConfigurationEntry(moduleName, map(flag), map(moduleOptionList));
+ }
+
+ public Map<String,Object> map(List<ModuleOption> moduleOptionList)
+ {
+ if(moduleOptionList == null)
+ return null;
+ Map<String,Object> moduleOptions = new HashMap<String,Object>();
+ for(ModuleOption moduleOption: moduleOptionList)
+ {
+ String name = moduleOption.getName();
+ List<Object> objectList = moduleOption.getContent();
+ moduleOptions.put(name, objectList.get(0)); //Just get the first object
+ }
+ return moduleOptions;
+ }
+
+ public List<AuditProviderEntry>
+ map(List<org.jboss.security.idtrust.config.jaxb.ProviderModule> providerModulesList)
+ {
+ List<AuditProviderEntry> auditProviderEntries = new ArrayList<AuditProviderEntry>();
+
+ int len = providerModulesList != null ? providerModulesList.size() : 0;
+ if(len > 0)
+ {
+ for(ProviderModule providerModule : providerModulesList)
+ {
+ AuditProviderEntry ape = new AuditProviderEntry(providerModule.getCode());
+ ape.getOptions().putAll(map(providerModule.getModuleOption()));
+ auditProviderEntries.add(ape);
+ }
+ }
+ return auditProviderEntries;
+ }
+
+ public LoginModuleControlFlag map(ModuleOptionFlag flag)
+ {
+ if(flag != null)
+ {
+ if(flag.compareTo(ModuleOptionFlag.OPTIONAL) == 0)
+ return LoginModuleControlFlag.OPTIONAL;
+ else
+ if(flag.compareTo(ModuleOptionFlag.SUFFICIENT) == 0)
+ return LoginModuleControlFlag.SUFFICIENT;
+ else
+ if(flag.compareTo(ModuleOptionFlag.REQUISITE) == 0)
+ return LoginModuleControlFlag.REQUISITE;
+ }
+
+ //Get the default option
+ return LoginModuleControlFlag.REQUIRED;
+ }
+
+ public ControlFlag getControlFlag(ModuleOptionFlag flag)
+ {
+ if(flag != null)
+ {
+ if(flag.compareTo(ModuleOptionFlag.OPTIONAL) == 0)
+ return ControlFlag.OPTIONAL;
+ else
+ if(flag.compareTo(ModuleOptionFlag.SUFFICIENT) == 0)
+ return ControlFlag.SUFFICIENT;
+ else
+ if(flag.compareTo(ModuleOptionFlag.REQUISITE) == 0)
+ return ControlFlag.REQUISITE;
+ }
+
+ //Get the default option
+ return ControlFlag.REQUIRED;
+ }
+}
\ No newline at end of file
Added: projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/SecurityActions.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/SecurityActions.java (rev 0)
+++ projects/security/security-standalone/trunk/idtrust-config/src/main/java/org/jboss/security/idtrust/config/SecurityActions.java 2009-03-13 21:04:56 UTC (rev 85838)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.idtrust.config;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * Privileged Blocks
+ * <a href="mailto:anil.saldhana at redhat.com>Anil Saldhana</a>
+ * @since May 30, 2008
+ */
+
+class SecurityActions
+{
+ static ClassLoader getContextClassLoader()
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+ {
+ public ClassLoader run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
+}
Modified: projects/security/security-standalone/trunk/idtrust-impl/.classpath
===================================================================
--- projects/security/security-standalone/trunk/idtrust-impl/.classpath 2009-03-13 20:25:02 UTC (rev 85837)
+++ projects/security/security-standalone/trunk/idtrust-impl/.classpath 2009-03-13 21:04:56 UTC (rev 85838)
@@ -14,5 +14,6 @@
<classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0/stax-api-1.0.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/security/identity-spi/2.0.2-SNAPSHOT/identity-spi-2.0.2-SNAPSHOT.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/jboss-idtrust-config-common"/>
<classpathentry kind="output" path="target/eclipse-classes"/>
</classpath>
Modified: projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuditUnitTestCase.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuditUnitTestCase.java 2009-03-13 20:25:02 UTC (rev 85837)
+++ projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuditUnitTestCase.java 2009-03-13 21:04:56 UTC (rev 85838)
@@ -33,8 +33,8 @@
import org.jboss.security.audit.AuditEvent;
import org.jboss.security.audit.AuditLevel;
import org.jboss.security.audit.AuditManager;
-import org.jboss.security.config.IDTrustConfiguration;
import org.jboss.security.idtrust.api.factories.SecurityFactory;
+import org.jboss.security.idtrust.config.IDTrustConfiguration;
import org.jboss.security.idtrust.test.helpers.TestAuditProvider;
/**
Modified: projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthenticationUnitTestCase.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthenticationUnitTestCase.java 2009-03-13 20:25:02 UTC (rev 85837)
+++ projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthenticationUnitTestCase.java 2009-03-13 21:04:56 UTC (rev 85838)
@@ -28,8 +28,8 @@
import junit.framework.TestCase;
import org.jboss.security.AuthenticationManager;
-import org.jboss.security.config.IDTrustConfiguration;
import org.jboss.security.idtrust.api.factories.SecurityFactory;
+import org.jboss.security.idtrust.config.IDTrustConfiguration;
/**
* Authentication Unit Tests
Modified: projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthorizationUnitTestCase.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthorizationUnitTestCase.java 2009-03-13 20:25:02 UTC (rev 85837)
+++ projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthorizationUnitTestCase.java 2009-03-13 21:04:56 UTC (rev 85838)
@@ -34,8 +34,8 @@
import org.jboss.security.authorization.AuthorizationContext;
import org.jboss.security.authorization.Resource;
import org.jboss.security.authorization.ResourceType;
-import org.jboss.security.config.IDTrustConfiguration;
import org.jboss.security.idtrust.api.factories.SecurityFactory;
+import org.jboss.security.idtrust.config.IDTrustConfiguration;
/**
* Authorization Unit Tests
Modified: projects/security/security-standalone/trunk/parent/pom.xml
===================================================================
--- projects/security/security-standalone/trunk/parent/pom.xml 2009-03-13 20:25:02 UTC (rev 85837)
+++ projects/security/security-standalone/trunk/parent/pom.xml 2009-03-13 21:04:56 UTC (rev 85838)
@@ -128,7 +128,6 @@
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
<version>1.0</version>
- <scope>runtime</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
Modified: projects/security/security-standalone/trunk/pom.xml
===================================================================
--- projects/security/security-standalone/trunk/pom.xml 2009-03-13 20:25:02 UTC (rev 85837)
+++ projects/security/security-standalone/trunk/pom.xml 2009-03-13 21:04:56 UTC (rev 85838)
@@ -15,9 +15,10 @@
<modules>
<module>parent</module>
+ <module>idtrust-config-common</module>
<module>idtrust-config</module>
<module>idtrust-api</module>
<module>idtrust-impl</module>
<module>assembly</module>
</modules>
-</project>
\ No newline at end of file
+</project>
More information about the jboss-cvs-commits
mailing list