[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