User: starksm
Date: 01/04/12 21:38:02
Modified: src/main/org/jboss/test Tag: Branch_2_2
LoginModulesTest.java
Log:
Fix problem with modules sharing of the user identity.
Sourceforge BugID: 415818
Revision Changes Path
No revision
No revision
1.3.2.2 +44 -1 jbosssx/src/main/org/jboss/test/LoginModulesTest.java
Index: LoginModulesTest.java
===================================================================
RCS file: /cvsroot/jboss/jbosssx/src/main/org/jboss/test/LoginModulesTest.java,v
retrieving revision 1.3.2.1
retrieving revision 1.3.2.2
diff -u -r1.3.2.1 -r1.3.2.2
--- LoginModulesTest.java 2001/04/12 01:25:15 1.3.2.1
+++ LoginModulesTest.java 2001/04/13 04:38:02 1.3.2.2
@@ -13,6 +13,7 @@
import java.sql.DriverManager;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Set;
import java.util.Properties;
import javax.naming.InitialContext;
@@ -34,7 +35,7 @@
/** Tests of the sample LoginModule classes.
@author [EMAIL PROTECTED]
-@version $Revision: 1.3.2.1 $
+@version $Revision: 1.3.2.2 $
*/
public class LoginModulesTest extends TestCase
{
@@ -101,6 +102,20 @@
AppConfigurationEntry[] entry = {ace};
return entry;
}
+ AppConfigurationEntry[] testShared()
+ {
+ String name0 = "org.jboss.security.plugins.samples.IdentityLoginModule";
+ String name1 = "org.jboss.security.plugins.samples.RolesLoginModule";
+ HashMap options = new HashMap();
+ options.put("principal", "stark");
+ options.put("roles", "Role3,Role4");
+ AppConfigurationEntry ace0 = new AppConfigurationEntry(name0,
+ AppConfigurationEntry.LoginModuleControlFlag.REQUIRED, options);
+ AppConfigurationEntry ace1 = new AppConfigurationEntry(name1,
+ AppConfigurationEntry.LoginModuleControlFlag.REQUIRED, new
HashMap());
+ AppConfigurationEntry[] entry = {ace0, ace1};
+ return entry;
+ }
AppConfigurationEntry[] testJdbc()
{
String name =
"org.jboss.security.plugins.samples.DatabaseServerLoginModule";
@@ -245,6 +260,34 @@
assert("Role2 is not a role", roles.isMember(new SimplePrincipal("Role2"))
== false);
assert("Role3 is a role", roles.isMember(new SimplePrincipal("Role3")));
assert("Role4 is a role", roles.isMember(new SimplePrincipal("Role4")));
+
+ lc.logout();
+ }
+ public void testShared() throws Exception
+ {
+ System.out.println("testShared");
+ LoginContext lc = new LoginContext("testShared");
+ lc.login();
+ Subject subject = lc.getSubject();
+ Set groups = subject.getPrincipals(Group.class);
+ assert("Principals contains stark", subject.getPrincipals().contains(new
SimplePrincipal("stark")));
+ assert("Principals contains Roles", groups.contains(new
SimplePrincipal("Roles")));
+ assert("Principals contains CallerPrincipal", groups.contains(new
SimplePrincipal("CallerPrincipal")));
+ Group roles = null;
+ Group caller = null;
+ Iterator iter = groups.iterator();
+ while( iter.hasNext() )
+ {
+ Group g = (Group) iter.next();
+ if( g.getName().equals("Roles") )
+ roles = g;
+ else if( g.getName().equals("CallerPrincipal") )
+ caller = g;
+ }
+ assert("Role2 is not a role", roles.isMember(new SimplePrincipal("Role2"))
== false);
+ assert("Role3 is a role", roles.isMember(new SimplePrincipal("Role3")));
+ assert("Role4 is a role", roles.isMember(new SimplePrincipal("Role4")));
+ assert("Caller is callerStark", caller.isMember(new
SimplePrincipal("callerStark")));
lc.logout();
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development