use of org.apache.karaf.jaas.modules.NamePasswordCallbackHandler in project karaf by apache.
the class JdbcLoginModuleTest method testLoginModuleWithGroups.
@Test
public void testLoginModuleWithGroups() throws Exception {
JDBCBackingEngine engine = new JDBCBackingEngine(dataSource);
engine.addGroupRole("group1", "role2");
engine.addUser("abc", "xyz");
engine.addRole("abc", "role1");
engine.addGroup("abc", "group1");
JDBCLoginModule module = new JDBCLoginModule();
Subject subject = new Subject();
module.initialize(subject, new NamePasswordCallbackHandler("abc", "xyz"), null, options);
module.login();
module.commit();
assertTrue(subject.getPrincipals().contains(new UserPrincipal("abc")));
assertTrue(subject.getPrincipals().contains(new GroupPrincipal("group1")));
assertTrue(subject.getPrincipals().contains(new RolePrincipal("role1")));
assertTrue(subject.getPrincipals().contains(new RolePrincipal("role2")));
}
use of org.apache.karaf.jaas.modules.NamePasswordCallbackHandler in project karaf by apache.
the class PropertiesLoginModuleTest method testBasicLogin.
@Test
public void testBasicLogin() throws Exception {
File f = File.createTempFile(getClass().getName(), ".tmp");
try {
Properties p = new Properties(f);
PropertiesBackingEngine pbe = new PropertiesBackingEngine(p);
pbe.addUser("abc", "xyz");
pbe.addRole("abc", "myrole");
pbe.addUser("pqr", "abc");
PropertiesLoginModule module = new PropertiesLoginModule();
Map<String, String> options = new HashMap<>();
options.put(PropertiesLoginModule.USER_FILE, f.getAbsolutePath());
Subject subject = new Subject();
module.initialize(subject, new NamePasswordCallbackHandler("abc", "xyz"), null, options);
Assert.assertEquals("Precondition", 0, subject.getPrincipals().size());
Assert.assertTrue(module.login());
Assert.assertTrue(module.commit());
Assert.assertEquals(2, subject.getPrincipals().size());
boolean foundUser = false;
boolean foundRole = false;
for (Principal pr : subject.getPrincipals()) {
if (pr instanceof UserPrincipal) {
Assert.assertEquals("abc", pr.getName());
foundUser = true;
} else if (pr instanceof RolePrincipal) {
Assert.assertEquals("myrole", pr.getName());
foundRole = true;
}
}
Assert.assertTrue(foundUser);
Assert.assertTrue(foundRole);
Assert.assertTrue(module.logout());
Assert.assertEquals("Principals should be gone as the user has logged out", 0, subject.getPrincipals().size());
} finally {
if (!f.delete()) {
Assert.fail("Could not delete temporary file: " + f);
}
}
}
use of org.apache.karaf.jaas.modules.NamePasswordCallbackHandler in project karaf by apache.
the class LdapLoginModuleTest method testUserNotFound.
@Test
public void testUserNotFound() throws Exception {
Properties options = ldapLoginModuleOptions();
LDAPLoginModule module = new LDAPLoginModule();
Subject subject = new Subject();
module.initialize(subject, new NamePasswordCallbackHandler("imnothere", "admin123"), null, options);
assertEquals("Precondition", 0, subject.getPrincipals().size());
assertFalse(module.login());
}
use of org.apache.karaf.jaas.modules.NamePasswordCallbackHandler in project karaf by apache.
the class LdapLoginModuleTest method testRoleMappingSimple.
@Test
public void testRoleMappingSimple() throws Exception {
Properties options = ldapLoginModuleOptions();
options.put(LDAPOptions.ROLE_MAPPING, "admin=karaf");
LDAPLoginModule module = new LDAPLoginModule();
Subject subject = new Subject();
module.initialize(subject, new NamePasswordCallbackHandler("admin", "admin123"), null, options);
assertEquals("Precondition", 0, subject.getPrincipals().size());
assertTrue(module.login());
assertTrue(module.commit());
assertEquals(2, subject.getPrincipals().size());
boolean foundUser = false;
boolean foundRole = false;
for (Principal principal : subject.getPrincipals()) {
if (principal instanceof UserPrincipal) {
assertEquals("admin", principal.getName());
foundUser = true;
} else if (principal instanceof RolePrincipal) {
assertEquals("karaf", principal.getName());
foundRole = true;
}
}
assertTrue(foundUser);
assertTrue(foundRole);
assertTrue(module.logout());
assertEquals("Principals should be gone as the user has logged out", 0, subject.getPrincipals().size());
}
use of org.apache.karaf.jaas.modules.NamePasswordCallbackHandler in project karaf by apache.
the class GSSAPILdapLoginModuleTest method testPasswordFailure.
@Test(expected = LoginException.class)
public void testPasswordFailure() throws Exception {
Properties options = ldapLoginModuleOptions();
GSSAPILdapLoginModule module = new GSSAPILdapLoginModule();
Subject subject = new Subject();
module.initialize(subject, new NamePasswordCallbackHandler("hnelson", "secret0"), null, options);
assertEquals("Precondition", 0, subject.getPrincipals().size());
assertTrue(module.login());
}
Aggregations