[jboss-cvs] JBossAS SVN: r65313 - in projects/security/security-jboss-sx/trunk: src/main/org/jboss/security and 11 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Sep 11 18:37:23 EDT 2007
Author: anil.saldhana at jboss.com
Date: 2007-09-11 18:37:23 -0400 (Tue, 11 Sep 2007)
New Revision: 65313
Added:
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/DefaultSecurityManagement.java
Removed:
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/SecurityContextFactory.java
Modified:
projects/security/security-jboss-sx/trunk/.classpath
projects/security/security-jboss-sx/trunk/pom.xml
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociation.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociationActions.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityUtil.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/callback/SecurityAssociationHandler.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/client/JBossSecurityClient.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthenticationManager.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthorizationManager.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossSecurityContext.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NoAccessSecurityManager.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NullSecurityManager.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/SubjectActions.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/audit/JBossAuditManager.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/identitytrust/JBossIdentityTrustManager.java
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/mapping/JBossMappingManager.java
projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/audit/AuditUnitTestCase.java
projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/JBossAuthorizationManagerUnitTestCase.java
projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/xacml/EJBXACMLUnitTestCase.java
projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/xacml/WebXACMLUnitTestCase.java
projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/security/identitytrust/IdentityTrustUnitTestCase.java
projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/MappingContextTestCase.java
projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/SecurityContextTestCase.java
projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/TestSecurityContext.java
Log:
Beta1 related changes including moving SecurityContextFactory to spi; usage of SecurityManagement in SecurityContext
Modified: projects/security/security-jboss-sx/trunk/.classpath
===================================================================
--- projects/security/security-jboss-sx/trunk/.classpath 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/.classpath 2007-09-11 22:37:23 UTC (rev 65313)
@@ -9,9 +9,9 @@
<classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-xacml/sun-xacml/2.0/sun-xacml-2.0.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0-SNAPSHOT/jbossxb-2.0.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-security-spi/2.0.1-SNAPSHOT/jboss-security-spi-2.0.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-security-spi/2.0.1-BETA1/jboss-security-spi-2.0.1-BETA1.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/jboss-javaee/5.0.0-SNAPSHOT/jboss-javaee-5.0.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-jaspi-api/1.0-SNAPSHOT/jboss-jaspi-api-1.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0-SNAPSHOT/jboss-jaspi-api-1.0-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/jboss-test/1.0.3.GA/jboss-test-1.0.3.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-xacml/sunxacml-support/2.0/sunxacml-support-2.0.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-jaf/activation/1.1/activation-1.1.jar"/>
@@ -24,6 +24,6 @@
<classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-opends/opends-core/1.0.0-BUILD04/opends-core-1.0.0-BUILD04.jar"/>
<classpathentry kind="var" path="M2_REPO/sleepycat/je/3.2.43/je-3.2.43.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jnpserver/5.0.0-SNAPSHOT/jnpserver-5.0.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jnpserver/5.0.0-SNAPSHOT/jnpserver-5.0.0-SNAPSHOT.jar"/>
<classpathentry kind="output" path="output/classes"/>
</classpath>
Modified: projects/security/security-jboss-sx/trunk/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/pom.xml 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/pom.xml 2007-09-11 22:37:23 UTC (rev 65313)
@@ -8,7 +8,7 @@
<groupId>jboss</groupId>
<artifactId>jbosssx</artifactId>
<packaging>jar</packaging>
- <version>2.0.1-SNAPSHOT</version>
+ <version>2.0.1-BETA1</version>
<name>JBoss Security Implementation for the JBAS</name>
<url>http://labs.jboss.org/portal/jbosssecurity/</url>
<description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
@@ -211,7 +211,7 @@
<dependency>
<groupId>jboss</groupId>
<artifactId>jboss-security-spi</artifactId>
- <version>2.0.1-SNAPSHOT</version>
+ <version>2.0.1-BETA1</version>
<scope>compile</scope>
</dependency>
<dependency>
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociation.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociation.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociation.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -29,7 +29,7 @@
import org.jboss.logging.Logger;
import org.jboss.security.plugins.SecurityContextAssociation;
-import org.jboss.security.plugins.SecurityContextFactory;
+import org.jboss.security.SecurityContextFactory;
/**
* The SecurityAssociation class maintains the security principal and
@@ -353,7 +353,14 @@
//Clients code that may have set directly (Legacy)
if(!server && securityContext == null)
{
- securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
+ try
+ {
+ securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
SecurityContextAssociation.setSecurityContext(securityContext);
}
if(securityContext != null)
@@ -408,7 +415,14 @@
//Clients code that may have set directly (Legacy)
if(!server && securityContext == null)
{
- securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
+ try
+ {
+ securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
SecurityContextAssociation.setSecurityContext(securityContext);
}
@@ -552,7 +566,14 @@
{
if(trace)
log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
- sctx = SecurityContextFactory.createSecurityContext("FROM_SECURITY_ASSOCIATION");
+ try
+ {
+ sctx = SecurityContextFactory.createSecurityContext("FROM_SECURITY_ASSOCIATION");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
}
sctx.getUtil().createSubjectInfo(principal, credential,subject);
SecurityContextAssociation.setSecurityContext(sctx);
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociationActions.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociationActions.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityAssociationActions.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -29,7 +29,7 @@
import org.jboss.security.SecurityAssociation;
import org.jboss.security.plugins.SecurityContextAssociation;
-import org.jboss.security.plugins.SecurityContextFactory;
+import org.jboss.security.SecurityContextFactory;
/** A PrivilegedAction implementation for setting the SecurityAssociation
* principal and credential
@@ -56,8 +56,15 @@
SecurityContext sc = SecurityContextAssociation.getSecurityContext();
if(sc == null)
{
- sc = SecurityContextFactory.createSecurityContext(principal,
- credential, subject, "CLIENT_PROXY");
+ try
+ {
+ sc = SecurityContextFactory.createSecurityContext(principal,
+ credential, subject, "CLIENT_PROXY");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
}
SecurityContextAssociation.setSecurityContext(sc);
credential = null;
@@ -152,8 +159,16 @@
{
public Object run()
{
- SecurityContext sc = SecurityContextFactory.createSecurityContext(p, cred,
- subject, securityDomain);
+ SecurityContext sc;
+ try
+ {
+ sc = SecurityContextFactory.createSecurityContext(p, cred,
+ subject, securityDomain);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
SecurityContextAssociation.setSecurityContext(sc);
return null;
}
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityUtil.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityUtil.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/SecurityUtil.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -29,8 +29,11 @@
import javax.security.auth.Subject;
import org.jboss.logging.Logger;
+import org.jboss.security.audit.AuditManager;
import org.jboss.security.config.ApplicationPolicy;
import org.jboss.security.config.SecurityConfiguration;
+import org.jboss.security.identitytrust.IdentityTrustManager;
+import org.jboss.security.mapping.MappingManager;
//$Id$
@@ -99,15 +102,21 @@
return SecurityConfiguration.getApplicationPolicy(domainName);
}
- public static AuthenticationManager getAuthenticationManager(String securityDomain)
+ /**
+ * Do a JNDI lookup to obtain the authentication manager
+ * @param securityDomain
+ * @param baseContext the BaseContext for JNDI(Eg: "java:/jaas")
+ * @return
+ */
+ public static AuthenticationManager getAuthenticationManager(String securityDomain,
+ String baseContext)
{
String securityMgrURL = "/securityMgr";
String lookupURL = null;
- if(securityDomain.startsWith(SecurityConstants.JAAS_CONTEXT_ROOT))
+ if(securityDomain.startsWith(baseContext))
lookupURL = securityDomain + securityMgrURL;
else
- lookupURL = SecurityConstants.JAAS_CONTEXT_ROOT + "/"
- + securityDomain + securityMgrURL;
+ lookupURL = baseContext + "/" + securityDomain + securityMgrURL;
AuthenticationManager am = null;
try
{
@@ -125,16 +134,18 @@
/**
* Do a JNDI lookup to obtain the authorization manager
* @param securityDomain
+ * @param baseContext the BaseContext for JNDI(Eg: "java:/jaas")
* @return
*/
- public static AuthorizationManager getAuthorizationManager(String securityDomain)
+ public static AuthorizationManager getAuthorizationManager(String securityDomain,
+ String baseContext)
{
String authorizationMgrURL = "/authorizationMgr";
String lookupURL = null;
- if(securityDomain.startsWith(SecurityConstants.JAAS_CONTEXT_ROOT))
+ if(securityDomain.startsWith(baseContext))
lookupURL = securityDomain + authorizationMgrURL;
else
- lookupURL = SecurityConstants.JAAS_CONTEXT_ROOT + "/" + securityDomain + authorizationMgrURL;
+ lookupURL = baseContext + "/" + securityDomain + authorizationMgrURL;
AuthorizationManager am = null;
try
{
@@ -148,4 +159,90 @@
}
return am;
}
-}
+
+ /**
+ * Do a JNDI lookup to obtain the Audit Manager
+ * @param securityDomain
+ * @param baseContext the BaseContext for JNDI(Eg: "java:/jaas")
+ * @return
+ */
+ public static AuditManager getAuditManager(String securityDomain, String baseContext)
+ {
+ String auditMgrURL = "/auditMgr";
+ String lookupURL = null;
+ if(securityDomain.startsWith(baseContext))
+ lookupURL = securityDomain + auditMgrURL;
+ else
+ lookupURL = baseContext + "/" + securityDomain + auditMgrURL;
+ AuditManager am = null;
+ try
+ {
+ InitialContext ic = new InitialContext();
+ am = (AuditManager)ic.lookup(lookupURL);
+ }
+ catch(Exception e)
+ {
+ if(log.isTraceEnabled())
+ log.trace("Error in obtaining AuditMgr",e);
+ }
+ return am;
+ }
+
+ /**
+ * Do a JNDI lookup to obtain the IdentityTrust Manager
+ * @param securityDomain
+ * @param baseContext the BaseContext for JNDI(Eg: "java:/jaas")
+ * @return
+ */
+ public static IdentityTrustManager getIdentityTrustManager(String securityDomain,
+ String baseContext)
+ {
+ String identityTrustMgrURL = "/identityTrustMgr";
+ String lookupURL = null;
+ if(securityDomain.startsWith(baseContext))
+ lookupURL = securityDomain + identityTrustMgrURL;
+ else
+ lookupURL = baseContext + "/" + securityDomain + identityTrustMgrURL;
+ IdentityTrustManager am = null;
+ try
+ {
+ InitialContext ic = new InitialContext();
+ am = (IdentityTrustManager)ic.lookup(lookupURL);
+ }
+ catch(Exception e)
+ {
+ if(log.isTraceEnabled())
+ log.trace("Error in obtaining IdentityTrustMgr",e);
+ }
+ return am;
+ }
+
+ /**
+ * Do a JNDI lookup to obtain the MappingManager
+ * @param securityDomain
+ * @param baseContext the BaseContext for JNDI(Eg: "java:/jaas")
+ * @return
+ */
+ public static MappingManager getMappingManager(String securityDomain,
+ String baseContext)
+ {
+ String mappingManagerURL = "/mappingMgr";
+ String lookupURL = null;
+ if(securityDomain.startsWith(baseContext))
+ lookupURL = securityDomain + mappingManagerURL;
+ else
+ lookupURL = baseContext + "/" + securityDomain + mappingManagerURL;
+ MappingManager am = null;
+ try
+ {
+ InitialContext ic = new InitialContext();
+ am = (MappingManager)ic.lookup(lookupURL);
+ }
+ catch(Exception e)
+ {
+ if(log.isTraceEnabled())
+ log.trace("Error in obtaining IdentityTrustMgr",e);
+ }
+ return am;
+ }
+}
\ No newline at end of file
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/callback/SecurityAssociationHandler.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/callback/SecurityAssociationHandler.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/callback/SecurityAssociationHandler.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -21,9 +21,10 @@
*/
package org.jboss.security.auth.callback;
+import java.io.IOException;
import java.lang.reflect.Method;
import java.security.Principal;
-import java.io.IOException;
+
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.NameCallback;
@@ -43,7 +44,7 @@
@version $Revision$
*/
public class SecurityAssociationHandler implements CallbackHandler
-{
+{
private transient Principal principal;
private transient Object credential;
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/client/JBossSecurityClient.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/client/JBossSecurityClient.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/client/JBossSecurityClient.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -29,7 +29,7 @@
import org.jboss.security.SecurityContext;
import org.jboss.security.SimplePrincipal;
import org.jboss.security.plugins.SecurityContextAssociation;
-import org.jboss.security.plugins.SecurityContextFactory;
+import org.jboss.security.SecurityContextFactory;
//$Id$
@@ -76,7 +76,14 @@
SecurityContext sc = SecurityContextAssociation.getSecurityContext();
if(sc == null)
{
- sc = SecurityContextFactory.createSecurityContext("CLIENT");
+ try
+ {
+ sc = SecurityContextFactory.createSecurityContext("CLIENT");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
sc.getUtil().createSubjectInfo(up, credential, null);
}
SecurityContextAssociation.setSecurityContext(sc);
Added: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/DefaultSecurityManagement.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/DefaultSecurityManagement.java (rev 0)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/DefaultSecurityManagement.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, 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.plugins;
+
+import javax.security.auth.callback.CallbackHandler;
+
+import org.jboss.security.AuthenticationManager;
+import org.jboss.security.AuthorizationManager;
+import org.jboss.security.ISecurityManagement;
+import org.jboss.security.audit.AuditManager;
+import org.jboss.security.identitytrust.IdentityTrustManager;
+import org.jboss.security.mapping.MappingManager;
+import org.jboss.security.plugins.audit.JBossAuditManager;
+import org.jboss.security.plugins.identitytrust.JBossIdentityTrustManager;
+import org.jboss.security.plugins.mapping.JBossMappingManager;
+
+/**
+ * The Default Security Management class that instantiates the standard
+ * Security Managers (Authentication, Authorization, Audit, Mapping,IdentityTrust etc)
+ * @author Anil.Saldhana at redhat.com
+ * @since Sep 9, 2007
+ * @version $Revision$
+ */
+public class DefaultSecurityManagement implements ISecurityManagement
+{
+ private CallbackHandler handler = null;
+
+ public DefaultSecurityManagement( CallbackHandler cbh)
+ {
+ this.handler = cbh;
+ }
+
+ /**
+ * @see ISecurityManagement#getAuditManager()
+ */
+ public AuditManager getAuditManager(String securityDomain)
+ {
+ return new JBossAuditManager(securityDomain);
+ }
+
+ /**
+ * @see ISecurityManagement#getAuthenticationManager()
+ */
+ public AuthenticationManager getAuthenticationManager(String securityDomain)
+ {
+ return new JBossAuthenticationManager(securityDomain, this.handler);
+ }
+
+ /**
+ * @see ISecurityManagement#getAuthorizationManager()
+ */
+ public AuthorizationManager getAuthorizationManager(String securityDomain)
+ {
+ return new JBossAuthorizationManager(securityDomain);
+ }
+
+ /**
+ * @see ISecurityManagement#getIdentityTrustManager()
+ */
+ public IdentityTrustManager getIdentityTrustManager(String securityDomain)
+ {
+ return new JBossIdentityTrustManager(securityDomain);
+ }
+
+ /**
+ * @see ISecurityManagement#getMappingManager()
+ */
+ public MappingManager getMappingManager(String securityDomain)
+ {
+ return new JBossMappingManager(securityDomain);
+ }
+}
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthenticationManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthenticationManager.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthenticationManager.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -214,8 +214,7 @@
}
return AuthStatus.SUCCESS == status ;
}
-
-
+
/**
* Value added method for testing alone
* @return
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthorizationManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthorizationManager.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthorizationManager.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -51,6 +51,7 @@
import org.jboss.security.authorization.PolicyRegistration;
import org.jboss.security.authorization.Resource;
import org.jboss.security.mapping.MappingContext;
+import org.jboss.security.mapping.MappingManager;
import org.jboss.security.plugins.authorization.JBossAuthorizationContext;
import org.jboss.util.xml.DOMUtils;
import org.w3c.dom.Element;
@@ -350,7 +351,8 @@
*/
if(subjectRoles != userRoles || emptyContextRoles)
{
- MappingContext mc = sc.getMappingManager().getMappingContext(Group.class);
+ MappingManager mm = sc.getMappingManager();
+ MappingContext mc = mm.getMappingContext(Group.class);
if(mc != null)
{
Map contextMap = new HashMap();
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossSecurityContext.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossSecurityContext.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossSecurityContext.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -6,50 +6,39 @@
*/
package org.jboss.security.plugins;
+import static org.jboss.security.SecurityConstants.ROLES_IDENTIFIER;
+
import java.security.Principal;
-import java.security.acl.Group;
+import java.security.acl.Group;
import java.util.Enumeration;
import java.util.HashMap;
-import java.util.Map;
+import java.util.Map;
import javax.security.auth.callback.CallbackHandler;
-
+
import org.jboss.logging.Logger;
import org.jboss.security.AuthenticationManager;
import org.jboss.security.AuthorizationManager;
+import org.jboss.security.ISecurityManagement;
import org.jboss.security.RunAs;
import org.jboss.security.SecurityConstants;
-import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextFactory;
import org.jboss.security.SecurityContextUtil;
-import org.jboss.security.SecurityUtil;
-import org.jboss.security.SubjectInfo;
+import org.jboss.security.SubjectInfo;
import org.jboss.security.audit.AuditManager;
import org.jboss.security.auth.callback.SecurityAssociationHandler;
import org.jboss.security.identitytrust.IdentityTrustManager;
-import org.jboss.security.mapping.MappingManager;
-import org.jboss.security.plugins.audit.JBossAuditManager;
-import org.jboss.security.plugins.identitytrust.JBossIdentityTrustManager;
-import org.jboss.security.plugins.mapping.JBossMappingManager;
+import org.jboss.security.mapping.MappingManager;
-import static org.jboss.security.SecurityConstants.ROLES_IDENTIFIER;
-
/**
* Implementation of the Security Context for the JBoss AS
- *
- * By default, the AuthenticationManager, AuthorizationManager look up is done
- * from JNDI with ("java:/jaas/securityMgr" and "java:/jaas/authorizationMgr")
- * respectively, for usage in the JBoss Application Server
- *
- * For Non-JNDI integration, set the system property
- * "org.jboss.security.context.jndi" to "false" ("true" by default)
* @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
* @version $Revision$
* @since Aug 30, 2006
*/
public class JBossSecurityContext implements SecurityContext
-{
- public static final String JNDI_USAGE = "org.jboss.security.context.jndi";
-
+{
private static final long serialVersionUID = 1L;
protected static final Logger log = Logger.getLogger(JBossSecurityContext.class);
protected boolean trace = log.isTraceEnabled();
@@ -63,52 +52,37 @@
protected RunAs incomingRunAs = null;
protected RunAs outgoingRunAs = null;
- protected CallbackHandler callbackHandler = new SecurityAssociationHandler();
+ protected ISecurityManagement iSecurityManagement;
- protected AuthenticationManager authenticationManager = null;
- protected AuthorizationManager authorizationManager = null;
- protected AuditManager auditManager = null;
- protected MappingManager mappingManager = null;
- protected IdentityTrustManager identityTrustManager = null;
+ protected CallbackHandler callbackHandler = new SecurityAssociationHandler();
-
public JBossSecurityContext(String securityDomain)
{
this.securityDomain = securityDomain;
+ iSecurityManagement = new DefaultSecurityManagement(this.callbackHandler);
//Create a null subjectinfo as default
getUtil().createSubjectInfo(null, null, null);
}
+
/**
- * @see SecurityContext#getAuthenticationManager()
+ * @see SecurityContext#getSecurityManagement()
*/
- public AuthenticationManager getAuthenticationManager()
+ public ISecurityManagement getSecurityManagement()
{
- if(this.authenticationManager == null)
- {
- if(this.isJNDIBased())
- this.authenticationManager = SecurityUtil.getAuthenticationManager(securityDomain);
- else
- this.authenticationManager = new JBossAuthenticationManager(securityDomain, callbackHandler);
- }
- return this.authenticationManager;
+ return this.iSecurityManagement;
}
-
+
/**
- * @see SecurityContext#getAuthorizationManager()
+ * @see SecurityContext#setSecurityManagement(ISecurityManagement)
*/
- public AuthorizationManager getAuthorizationManager()
- {
- if(this.authorizationManager == null)
- {
- if(this.isJNDIBased())
- this.authorizationManager = SecurityUtil.getAuthorizationManager(securityDomain);
- else
- this.authorizationManager = new JBossAuthorizationManager(securityDomain);
- }
- return this.authorizationManager;
+ public void setSecurityManagement(ISecurityManagement ism)
+ {
+ if(ism == null)
+ throw new IllegalArgumentException("ism is null");
+ this.iSecurityManagement = ism;
}
-
+
/**
* @see SecurityContext#getData()
*/
@@ -132,36 +106,6 @@
}
/**
- * @see SecurityContext#getAuditContext()
- */
- public AuditManager getAuditManager()
- {
- if(this.auditManager == null)
- this.auditManager = new JBossAuditManager(securityDomain);
- return this.auditManager;
- }
-
- /**
- * @see SecurityContext#getMappingManager()
- */
- public MappingManager getMappingManager()
- {
- if(this.mappingManager == null)
- this.mappingManager = new JBossMappingManager(securityDomain);
- return this.mappingManager;
- }
-
- /**
- * @see SecurityContext#getIdentityTrustManager()
- */
- public IdentityTrustManager getIdentityTrustManager()
- {
- if(this.identityTrustManager == null)
- this.identityTrustManager = new JBossIdentityTrustManager(this);
- return this.identityTrustManager;
- }
-
- /**
* @see SecurityContext#getOutgoingRunAs()
*/
public RunAs getIncomingRunAs()
@@ -198,9 +142,50 @@
*/
public SecurityContextUtil getUtil()
{
- return SecurityContextFactory.createUtil(this);
- }
+ SecurityContextUtil util = null;
+ try
+ {
+ util = SecurityContextFactory.createUtil(this);
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException(e);
+ }
+ return util;
+ }
+
+
+ public AuditManager getAuditManager()
+ {
+ return this.iSecurityManagement.getAuditManager(this.securityDomain);
+ }
+
+
+ public AuthenticationManager getAuthenticationManager()
+ {
+ return this.iSecurityManagement.getAuthenticationManager(this.securityDomain);
+ }
+
+
+ public AuthorizationManager getAuthorizationManager()
+ {
+ return this.iSecurityManagement.getAuthorizationManager(this.securityDomain);
+ }
+
+
+ public IdentityTrustManager getIdentityTrustManager()
+ {
+ return this.iSecurityManagement.getIdentityTrustManager(this.securityDomain);
+ }
+
+
+ public MappingManager getMappingManager()
+ {
+ return this.iSecurityManagement.getMappingManager(this.securityDomain);
+ }
+
+
//Value Added Methods
public void setSubjectInfo(SubjectInfo si)
@@ -232,62 +217,8 @@
return newGroup;
}
+
/**
- * Set an AuthenticationManager
- * @param am
- */
- public void setAuthenticationManager(AuthenticationManager am)
- {
- if(am == null)
- throw new IllegalArgumentException("Null AuthenticationManager");
- this.authenticationManager = am;
- }
-
- /**
- * Set an AuthorizationManager
- * @param am
- */
- public void setAuthorizationManager(AuthorizationManager am)
- {
- if(am == null)
- throw new IllegalArgumentException("Null AuthorizationManager");
- this.authorizationManager = am;
- }
-
- /**
- * Set an AuditManager
- * @param am
- */
- public void setAuditManager(AuditManager am)
- {
- if(am == null)
- throw new IllegalArgumentException("Null AuditManager");
- this.auditManager = am;
- }
-
- /**
- * Set a Mapping Manager
- * @param mm
- */
- public void setMappingManager(MappingManager mm)
- {
- if(mm == null)
- throw new IllegalArgumentException("Null MappingManager");
- this.mappingManager = mm;
- }
-
- /**
- * Set an IdentityTrustManager
- * @param itm
- */
- public void setIdentityTrustManager(IdentityTrustManager itm)
- {
- if(itm == null)
- throw new IllegalArgumentException("Null IdentityTrustManager");
- this.identityTrustManager = itm;
- }
-
- /**
* Set the CallbackHandler for the Managers in the SecurityContext
* @param callbackHandler
*/
@@ -303,12 +234,5 @@
if(jsc != null)
jsc.contextData = (Map<String, Object>) ((HashMap)contextData).clone();
return super.clone();
- }
-
- private boolean isJNDIBased()
- {
- //JNDI usage
- String val = SubjectActions.getSystemProperty(JNDI_USAGE, "false");
- return val == null || "true".equalsIgnoreCase(val);
}
}
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NoAccessSecurityManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NoAccessSecurityManager.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NoAccessSecurityManager.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -133,9 +133,9 @@
HashSet roles = new HashSet();
roles.add(NobodyPrincipal.NOBODY_PRINCIPAL);
return roles;
- }
+ }
- /** Authenticate principal against credential
+ /** Authenticate principal against credential
* @param principal - the user id to authenticate
* @param credential - an opaque credential.
* @return Always returns true.
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NullSecurityManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NullSecurityManager.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NullSecurityManager.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -134,9 +134,9 @@
HashSet roles = new HashSet();
roles.add(AnybodyPrincipal.ANYBODY_PRINCIPAL);
return roles;
- }
+ }
- /** Authenticate principal against credential
+ /** Authenticate principal against credential
* @param principal - the user id to authenticate
* @param credential - an opaque credential.
* @return Always returns true.
Deleted: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/SecurityContextFactory.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/SecurityContextFactory.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/SecurityContextFactory.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -1,120 +0,0 @@
-/*
- * 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.plugins;
-
-import java.lang.reflect.Constructor;
-import java.security.Principal;
-
-import javax.security.auth.Subject;
-
-import org.jboss.security.SecurityContext;
-import org.jboss.security.SecurityContextUtil;
-
-//$Id$
-
-/**
- * Factory class to create Security Context instances
- * @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
- * @since Dec 28, 2006
- * @version $Revision$
- */
-public class SecurityContextFactory
-{
- /**
- * Create a security context
- * @param securityDomain Security Domain driving the context
- * @return
- */
- public static SecurityContext createSecurityContext(String securityDomain)
- {
- JBossSecurityContext jsc = new JBossSecurityContext(securityDomain);
- return jsc;
- }
-
- /**
- * Construct a SecurityContext
- * @param securityDomain The Security Domain
- * @param fqnClass Fully Qualified Name of the SecurityContext Class
- * @return an instance of SecurityContext
- * @throws Exception
- */
- public static SecurityContext createSecurityContext(String securityDomain,
- String fqnClass) throws Exception
- {
- Class clazz = getContextClass(fqnClass);
- //Get the CTR
- Constructor ctr = clazz.getConstructor(new Class[]{String.class});
- return (SecurityContext) ctr.newInstance(new Object[]{securityDomain});
- }
-
- /**
- * Create a security context
- * @param p Principal
- * @param cred Credential
- * @param s Subject
- * @param securityDomain SecurityDomain
- * @return
- * @see #createSecurityContext(String)
- */
- public static SecurityContext createSecurityContext(Principal p,
- Object cred,Subject s, String securityDomain)
- {
- JBossSecurityContext jsc = new JBossSecurityContext(securityDomain);
- jsc.getUtil().createSubjectInfo(p,cred,s);
- return jsc;
- }
-
- /**
- * Create a security context
- * @param p Principal
- * @param cred Credential
- * @param s Subject
- * @param securityDomain SecurityDomain
- * @param fqnClass FQN of the SecurityContext class to be instantiated
- * @return
- * @see #createSecurityContext(String)
- * @throws Exception
- */
- public static SecurityContext createSecurityContext(Principal p,
- Object cred,Subject s, String securityDomain, String fqnClass)
- throws Exception
- {
- SecurityContext sc = createSecurityContext(securityDomain, fqnClass);
- sc.getUtil().createSubjectInfo(p,cred,s);
- return sc;
- }
-
- /**
- * Return an instance of the SecurityContextUtil
- * @return
- */
- public static SecurityContextUtil createUtil(SecurityContext sc)
- {
- return new JBossSecurityContextUtil(sc);
- }
-
- private static Class getContextClass(String className) throws Exception
- {
- ClassLoader tcl = SubjectActions.getContextClassLoader();
- return tcl.loadClass(className);
- }
-}
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/SubjectActions.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/SubjectActions.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/SubjectActions.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -39,6 +39,7 @@
import org.jboss.security.SecurityAssociation;
import org.jboss.security.SecurityConstants;
import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextFactory;
/** Common PrivilegedAction used by classes in this package.
*
@@ -204,7 +205,7 @@
PrincipalInfoAction PRIVILEGED = new PrincipalInfoAction()
{
public void push(final Principal principal, final Object credential,
- final Subject subject, final String securityDomain)
+ final Subject subject, final String securityDomain)
{
AccessController.doPrivileged(
new PrivilegedAction()
@@ -215,8 +216,15 @@
SecurityContext sc = SecurityContextAssociation.getSecurityContext();
if(sc == null)
{
- sc = SecurityContextFactory.createSecurityContext(principal, credential,
- subject, securityDomain);
+ try
+ {
+ sc = SecurityContextFactory.createSecurityContext(principal, credential,
+ subject, securityDomain);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
}
SecurityContextAssociation.setSecurityContext(sc);
return null;
@@ -249,8 +257,15 @@
SecurityContext sc = SecurityContextAssociation.getSecurityContext();
if(sc == null)
{
- sc = SecurityContextFactory.createSecurityContext(principal, credential,
- subject, securityDomain);
+ try
+ {
+ sc = SecurityContextFactory.createSecurityContext(principal, credential,
+ subject, securityDomain);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
}
else
{
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/audit/JBossAuditManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/audit/JBossAuditManager.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/audit/JBossAuditManager.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -119,5 +119,10 @@
{
defaultContext.audit(ae);
}
- }
+ }
+
+ public String getSecurityDomain()
+ {
+ return this.securityDomain;
+ }
}
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/identitytrust/JBossIdentityTrustManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/identitytrust/JBossIdentityTrustManager.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/identitytrust/JBossIdentityTrustManager.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -37,14 +37,14 @@
* @version $Revision$
*/
public class JBossIdentityTrustManager implements IdentityTrustManager
-{
+{
protected static Logger log = Logger.getLogger(JBossIdentityTrustManager.class);
- private SecurityContext securityContext;
+ private String securityDomain = null;
private IdentityTrustContext identityTrustContext = null;
- public JBossIdentityTrustManager(SecurityContext sc)
+ public JBossIdentityTrustManager(String securityDomain)
{
- this.securityContext = sc;
+ this.securityDomain = securityDomain;
}
public void setIdentityTrustContext(IdentityTrustContext itc)
@@ -57,8 +57,10 @@
/**
* @see IdentityTrustManager#isTrusted()
*/
- public TrustDecision isTrusted()
+ public TrustDecision isTrusted(SecurityContext securityContext)
{
+ if(securityContext == null)
+ throw new IllegalArgumentException("Security Context is null");
if(this.identityTrustContext == null)
this.identityTrustContext = new JBossIdentityTrustContext(securityContext);
TrustDecision td = TrustDecision.NotApplicable;
@@ -74,5 +76,10 @@
log.trace("Trust Exception:",e);
}
return td;
- }
+ }
+
+ public String getSecurityDomain()
+ {
+ return this.securityDomain;
+ }
}
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/mapping/JBossMappingManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/mapping/JBossMappingManager.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/mapping/JBossMappingManager.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -96,7 +96,11 @@
}
return mc;
}
-
+
+ public String getSecurityDomain()
+ {
+ return this.securityDomain;
+ }
private MappingProvider getMappingProvider(MappingModuleEntry mme)
{
Modified: projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/audit/AuditUnitTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/audit/AuditUnitTestCase.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/audit/AuditUnitTestCase.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -22,14 +22,14 @@
package org.jboss.test.audit;
import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextFactory;
import org.jboss.security.audit.AuditEvent;
import org.jboss.security.audit.AuditLevel;
import org.jboss.security.audit.AuditManager;
import org.jboss.security.audit.config.AuditProviderEntry;
import org.jboss.security.config.ApplicationPolicy;
import org.jboss.security.config.AuditInfo;
-import org.jboss.security.config.SecurityConfiguration;
-import org.jboss.security.plugins.SecurityContextFactory;
+import org.jboss.security.config.SecurityConfiguration;
import junit.framework.TestCase;
@@ -57,7 +57,7 @@
* thread local of a static class. The test then checks the
* thread local for the audit event.
*/
- public void testAuditConfiguration()
+ public void testAuditConfiguration() throws Exception
{
SecurityContext sc = SecurityContextFactory.createSecurityContext("test");
AuditManager am = sc.getAuditManager();
Modified: projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/JBossAuthorizationManagerUnitTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/JBossAuthorizationManagerUnitTestCase.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/JBossAuthorizationManagerUnitTestCase.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -42,7 +42,7 @@
import org.jboss.security.jacc.SubjectPolicyContextHandler;
import org.jboss.security.plugins.JBossAuthorizationManager;
import org.jboss.security.plugins.SecurityContextAssociation;
-import org.jboss.security.plugins.SecurityContextFactory;
+import org.jboss.security.SecurityContextFactory;
import org.jboss.test.util.TestHttpServletRequest;
import junit.framework.TestCase;
@@ -85,7 +85,7 @@
return gp;
}
- private void setSecurityContext()
+ private void setSecurityContext() throws Exception
{
Subject subj = new Subject();
subj.getPrincipals().add(p);
Modified: projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/xacml/EJBXACMLUnitTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/xacml/EJBXACMLUnitTestCase.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/xacml/EJBXACMLUnitTestCase.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -46,7 +46,7 @@
import org.jboss.security.jacc.SubjectPolicyContextHandler;
import org.jboss.security.plugins.JBossAuthorizationManager;
import org.jboss.security.plugins.SecurityContextAssociation;
-import org.jboss.security.plugins.SecurityContextFactory;
+import org.jboss.security.SecurityContextFactory;
//$Id$
@@ -114,7 +114,15 @@
{
Subject subj = new Subject();
subj.getPrincipals().add(p);
- SecurityContext sc = SecurityContextFactory.createSecurityContext("other");
+ SecurityContext sc = null;
+ try
+ {
+ sc = SecurityContextFactory.createSecurityContext("other");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
sc.getUtil().createSubjectInfo(p, "cred", subj);
sc.getUtil().setRoles(getRoleGroup());
SecurityContextAssociation.setSecurityContext(sc);
Modified: projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/xacml/WebXACMLUnitTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/xacml/WebXACMLUnitTestCase.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/authorization/xacml/WebXACMLUnitTestCase.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -47,7 +47,7 @@
import org.jboss.security.jacc.SubjectPolicyContextHandler;
import org.jboss.security.plugins.JBossAuthorizationManager;
import org.jboss.security.plugins.SecurityContextAssociation;
-import org.jboss.security.plugins.SecurityContextFactory;
+import org.jboss.security.SecurityContextFactory;
import org.jboss.test.util.TestHttpServletRequest;
//$Id$
@@ -116,7 +116,15 @@
{
Subject subj = new Subject();
subj.getPrincipals().add(p);
- SecurityContext sc = SecurityContextFactory.createSecurityContext("other");
+ SecurityContext sc = null;
+ try
+ {
+ sc = SecurityContextFactory.createSecurityContext("other");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
sc.getUtil().createSubjectInfo(p, "cred", subj);
sc.getUtil().setRoles(getRoleGroup());
SecurityContextAssociation.setSecurityContext(sc);
Modified: projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/security/identitytrust/IdentityTrustUnitTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/security/identitytrust/IdentityTrustUnitTestCase.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/security/identitytrust/IdentityTrustUnitTestCase.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -64,7 +64,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted());
+ assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted(sc));
}
public void testPermit_Permit_Deny() throws Exception
@@ -74,7 +74,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted Deny",TrustDecision.Deny,itm.isTrusted());
+ assertEquals("Is Trusted Deny",TrustDecision.Deny,itm.isTrusted(sc));
}
public void testPermit_Deny_Permit() throws Exception
@@ -84,7 +84,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted Deny",TrustDecision.Deny,itm.isTrusted());
+ assertEquals("Is Trusted Deny",TrustDecision.Deny,itm.isTrusted(sc));
}
public void testDeny_Permit_Permit() throws Exception
@@ -94,7 +94,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted Deny",TrustDecision.Deny,itm.isTrusted());
+ assertEquals("Is Trusted Deny",TrustDecision.Deny,itm.isTrusted(sc));
}
public void testPermit_Permit_NotApplicable() throws Exception
@@ -104,7 +104,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted());
+ assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted(sc));
}
public void testNotApplicable_Permit_Permit() throws Exception
@@ -114,7 +114,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted());
+ assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted(sc));
}
public void testNotApplicable_Required__Permit_Optional() throws Exception
@@ -124,7 +124,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted not applicable",TrustDecision.NotApplicable,itm.isTrusted());
+ assertEquals("Is Trusted not applicable",TrustDecision.NotApplicable,itm.isTrusted(sc));
}
public void testPermit_Required__Deny_Optional() throws Exception
@@ -134,7 +134,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted());
+ assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted(sc));
}
public void testNotApplicable_Required__Deny_Optional() throws Exception
@@ -144,7 +144,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted false",TrustDecision.NotApplicable,itm.isTrusted());
+ assertEquals("Is Trusted false",TrustDecision.NotApplicable,itm.isTrusted(sc));
}
public void testPermit_Sufficient__Deny_Optional() throws Exception
@@ -154,7 +154,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted());
+ assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted(sc));
}
public void testJavaEERunAsIdentity() throws Exception
@@ -164,7 +164,7 @@
assertNotNull("SecurityContext is not null", sc);
IdentityTrustManager itm = sc.getIdentityTrustManager();
assertNotNull("IdentityTrustManager is not null", itm);
- assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted());
+ assertEquals("Is Trusted",TrustDecision.Permit,itm.isTrusted(sc));
sc.setIncomingRunAs(new RunAs()
{
@@ -184,6 +184,6 @@
}
});
- assertEquals("Is Trusted is false",TrustDecision.NotApplicable,itm.isTrusted());
+ assertEquals("Is Trusted is false",TrustDecision.NotApplicable,itm.isTrusted(sc));
}
}
Modified: projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/MappingContextTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/MappingContextTestCase.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/MappingContextTestCase.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -25,6 +25,7 @@
import java.util.HashMap;
import java.util.HashSet;
+import org.jboss.security.ISecurityManagement;
import org.jboss.security.SecurityConstants;
import org.jboss.security.SecurityContext;
import org.jboss.security.SimpleGroup;
Modified: projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/SecurityContextTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/SecurityContextTestCase.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/SecurityContextTestCase.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -28,6 +28,7 @@
import org.jboss.security.AuthenticationManager;
import org.jboss.security.AuthorizationManager;
+import org.jboss.security.ISecurityManagement;
import org.jboss.security.SecurityContext;
import org.jboss.security.audit.AuditManager;
import org.jboss.security.config.SecurityConfiguration;
@@ -35,7 +36,7 @@
import org.jboss.security.mapping.MappingContext;
import org.jboss.security.mapping.providers.DeploymentRolesMappingProvider;
import org.jboss.security.plugins.JBossSecurityContext;
-import org.jboss.security.plugins.SecurityContextFactory;
+import org.jboss.security.SecurityContextFactory;
//$Id$
@@ -74,6 +75,8 @@
public void testMappingContext()
{
JBossSecurityContext sc = getSC(securityDomain);
+ ISecurityManagement ism = sc.getSecurityManagement();
+ assertNotNull("Security Management is not null", ism);
MappingContext mc = sc.getMappingManager().getMappingContext(Group.class);
assertNotNull("Mapping Context is not null", mc);
List modules = mc.getModules();
@@ -94,10 +97,10 @@
}
public void testManagersFromJBossSecurityContext() throws Exception
- {
- //Establish the non-JNDI usage
- System.setProperty(JBossSecurityContext.JNDI_USAGE, "false");
+ {
JBossSecurityContext sc = this.getSC("other");
+ ISecurityManagement ism = sc.getSecurityManagement();
+ assertNotNull("Security Management is not null", ism);
AuthenticationManager authManager = sc.getAuthenticationManager();
assertNotNull("AuthenticationManager is not null", authManager);
AuthorizationManager authorizationMgr = sc.getAuthorizationManager();
Modified: projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/TestSecurityContext.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/TestSecurityContext.java 2007-09-11 22:26:23 UTC (rev 65312)
+++ projects/security/security-jboss-sx/trunk/src/tests/org/jboss/test/securitycontext/TestSecurityContext.java 2007-09-11 22:37:23 UTC (rev 65313)
@@ -25,6 +25,7 @@
import org.jboss.security.AuthenticationManager;
import org.jboss.security.AuthorizationManager;
+import org.jboss.security.ISecurityManagement;
import org.jboss.security.RunAs;
import org.jboss.security.SecurityContext;
import org.jboss.security.SecurityContextUtil;
@@ -47,71 +48,80 @@
public TestSecurityContext(String secDomain)
{
- }
+ }
- public AuditManager getAuditManager()
+ public Map<String, Object> getData()
{
return null;
}
-
- public AuthenticationManager getAuthenticationManager()
+
+ public RunAs getIncomingRunAs()
{
return null;
}
-
- public AuthorizationManager getAuthorizationManager()
+
+ public RunAs getOutgoingRunAs()
{
return null;
}
- public Map<String, Object> getData()
+ public String getSecurityDomain()
{
return null;
}
- public IdentityTrustManager getIdentityTrustManager()
+ public SubjectInfo getSubjectInfo()
{
return null;
}
- public RunAs getIncomingRunAs()
+ public SecurityContextUtil getUtil()
{
return null;
}
- public MappingManager getMappingManager()
+ public void setIncomingRunAs(RunAs arg0)
{
- return null;
}
+ public void setOutgoingRunAs(RunAs arg0)
+ {
+ }
- public RunAs getOutgoingRunAs()
+ public void setSubjectInfo(SubjectInfo arg0)
{
- return null;
}
- public String getSecurityDomain()
+ public ISecurityManagement getSecurityManagement()
{
return null;
}
- public SubjectInfo getSubjectInfo()
+ public void setSecurityManagement(ISecurityManagement arg0)
{
- return null;
}
- public SecurityContextUtil getUtil()
+ public AuditManager getAuditManager()
{
return null;
}
- public void setIncomingRunAs(RunAs arg0)
+ public AuthenticationManager getAuthenticationManager()
{
+ return null;
}
- public void setOutgoingRunAs(RunAs arg0)
+
+ public AuthorizationManager getAuthorizationManager()
{
+ return null;
}
- public void setSubjectInfo(SubjectInfo arg0)
+ public IdentityTrustManager getIdentityTrustManager()
+ {
+ return null;
+ }
+
+ public MappingManager getMappingManager()
{
+ return null;
}
}
More information about the jboss-cvs-commits
mailing list