[jboss-cvs] JBossAS SVN: r74320 - trunk/testsuite/src/main/org/jboss/test/security/test.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jun 9 17:35:38 EDT 2008
Author: anil.saldhana at jboss.com
Date: 2008-06-09 17:35:38 -0400 (Mon, 09 Jun 2008)
New Revision: 74320
Modified:
trunk/testsuite/src/main/org/jboss/test/security/test/SecurityMgrStressTestCase.java
Log:
JBAS-5610: fix test
Modified: trunk/testsuite/src/main/org/jboss/test/security/test/SecurityMgrStressTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/security/test/SecurityMgrStressTestCase.java 2008-06-09 21:20:53 UTC (rev 74319)
+++ trunk/testsuite/src/main/org/jboss/test/security/test/SecurityMgrStressTestCase.java 2008-06-09 21:35:38 UTC (rev 74320)
@@ -21,21 +21,31 @@
*/
package org.jboss.test.security.test;
+import java.util.HashMap;
import java.util.HashSet;
-import java.util.HashMap;
import java.util.Properties;
+
+import javax.security.auth.Subject;
+import javax.security.auth.login.AppConfigurationEntry;
import javax.security.auth.login.Configuration;
-import javax.security.auth.login.AppConfigurationEntry;
-import javax.security.auth.Subject;
+import javax.security.jacc.PolicyContext;
import junit.framework.TestCase;
import junit.textui.TestRunner;
import org.jboss.logging.Logger;
-import org.jboss.security.plugins.JaasSecurityManager;
+import org.jboss.security.AuthorizationManager;
+import org.jboss.security.SecurityConstants;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextAssociation;
+import org.jboss.security.SecurityContextFactory;
import org.jboss.security.SimplePrincipal;
-import org.jboss.security.SecurityAssociation;
import org.jboss.security.auth.callback.SecurityAssociationHandler;
+import org.jboss.security.config.ApplicationPolicy;
+import org.jboss.security.config.SecurityConfiguration;
+import org.jboss.security.jacc.SubjectPolicyContextHandler;
+import org.jboss.security.plugins.JBossAuthorizationManager;
+import org.jboss.security.plugins.JaasSecurityManager;
import org.jboss.util.TimedCachePolicy;
/** Stress testing of the JaasSecurityManager
@@ -65,10 +75,13 @@
*/
public void testMTAuthentication() throws Exception
{
- SecurityAssociation.setServer();
+ //SecurityAssociation.setServer();
int count = Integer.getInteger("jbosstest.threadcount", 10).intValue();
int iterations = Integer.getInteger("jbosstest.iterationcount", 5000).intValue();
log.info("Creating "+count+" threads doing "+iterations+" iterations");
+ PolicyContext.registerHandler(SecurityConstants.SUBJECT_CONTEXT_KEY,
+ new SubjectPolicyContextHandler(), false);
+ AuthorizationManager am = new JBossAuthorizationManager("testIdentity");
JaasSecurityManager secMgr = new JaasSecurityManager("testIdentity", new SecurityAssociationHandler());
TimedCachePolicy cache = new TimedCachePolicy(3, false, 100);
cache.create();
@@ -79,7 +92,7 @@
for(int t = 0; t < count; t ++)
{
int userID = t % Nusers;
- AuthTester test = new AuthTester(secMgr, iterations, userID);
+ AuthTester test = new AuthTester(secMgr, am, iterations, userID);
if( t == count - 2 )
test.failAuthentication();
if( t == count - 1 )
@@ -98,7 +111,7 @@
if( test.failAuthentication == true || test.failAuthorization == true )
assertTrue("Failure test has an error", test.error != null);
else if( test.error != null )
- fail("Unexpected error seen by : "+test);
+ fail("Unexpected error seen by : "+test.error.getLocalizedMessage());
}
}
@@ -168,11 +181,13 @@
Throwable error;
boolean failAuthentication;
boolean failAuthorization;
+ AuthorizationManager am;
- AuthTester(JaasSecurityManager secMgr, int iterations, int id)
+ AuthTester(JaasSecurityManager secMgr, AuthorizationManager am, int iterations, int id)
{
this.iterations = iterations;
this.secMgr = secMgr;
+ this.am = am;
this.username = "jduke"+id;
this.password = "theduke"+id;
}
@@ -206,13 +221,18 @@
{
for(int i = 0; i < iterations; i ++)
{
+ String securityDomain = secMgr.getSecurityDomain();
Subject subject = new Subject();
boolean authenticated = secMgr.isValid(user, thePassword, subject);
if( authenticated == false )
throw new SecurityException("Failed to authenticate: "+user);
- SecurityAssociation.pushSubjectContext(subject, user, "any");
- boolean authorized = secMgr.doesUserHaveRole(user, roleSet);
- SecurityAssociation.popSubjectContext();
+ SecurityConfiguration.addApplicationPolicy(new ApplicationPolicy(securityDomain));
+ SecurityContext sc = SecurityContextFactory.createSecurityContext(user,
+ thePassword, subject, securityDomain);
+ SecurityContextAssociation.setSecurityContext(sc);
+ //SecurityAssociation.pushSubjectContext(subject, user, "any");
+ boolean authorized = am.doesUserHaveRole(user, roleSet);
+ SecurityContextAssociation.clearSecurityContext();
if( authorized == false )
{
Subject s = secMgr.getActiveSubject();
@@ -230,4 +250,4 @@
}
}
-}
+}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list