use of org.apache.karaf.jaas.modules.NamePasswordCallbackHandler in project karaf by apache.
the class PropertiesLoginModuleTest method testCannotLoginAsGroupDirectly.
private void testCannotLoginAsGroupDirectly(final String name) throws IOException, LoginException {
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");
pbe.addGroup("pqr", "group1");
pbe.addGroupRole("group1", "r1");
PropertiesLoginModule module = new PropertiesLoginModule();
Map<String, String> options = new HashMap<>();
options.put(PropertiesLoginModule.USER_FILE, f.getAbsolutePath());
module.initialize(new Subject(), new NamePasswordCallbackHandler(name, "group"), null, options);
try {
module.login();
Assert.fail("The login should have failed as you cannot log in under a group name directly");
} catch (FailedLoginException fle) {
// good
}
} 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 PropertiesLoginModuleTest method testLoginIncorrectPassword.
@Test
public void testLoginIncorrectPassword() 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.addUser("pqr", "abc");
PropertiesLoginModule module = new PropertiesLoginModule();
Map<String, String> options = new HashMap<>();
options.put(PropertiesLoginModule.USER_FILE, f.getAbsolutePath());
module.initialize(new Subject(), new NamePasswordCallbackHandler("abc", "abc"), null, options);
try {
module.login();
Assert.fail("The login should have failed as the passwords didn't match");
} catch (FailedLoginException fle) {
// good
}
} 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 PropertiesLoginModuleTest method testLoginWithGroups.
@Test
public void testLoginWithGroups() 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");
pbe.addGroup("pqr", "group1");
pbe.addGroupRole("group1", "r1");
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("pqr", "abc"), null, options);
Assert.assertEquals("Precondition", 0, subject.getPrincipals().size());
Assert.assertTrue(module.login());
Assert.assertTrue(module.commit());
Assert.assertEquals(3, subject.getPrincipals().size());
boolean foundUser = false;
boolean foundRole = false;
boolean foundGroup = false;
for (Principal pr : subject.getPrincipals()) {
if (pr instanceof UserPrincipal) {
Assert.assertEquals("pqr", pr.getName());
foundUser = true;
} else if (pr instanceof GroupPrincipal) {
Assert.assertEquals("group1", pr.getName());
foundGroup = true;
} else if (pr instanceof RolePrincipal) {
Assert.assertEquals("r1", pr.getName());
foundRole = true;
}
}
Assert.assertTrue(foundUser);
Assert.assertTrue(foundGroup);
Assert.assertTrue(foundRole);
} 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 Krb5LoginModuleTest method testLoginPasswordFailure.
@Test(expected = LoginException.class)
public void testLoginPasswordFailure() throws Exception {
Subject subject = new Subject();
Krb5LoginModule module = new Krb5LoginModule();
module.initialize(subject, new NamePasswordCallbackHandler("hnelson", "secret0"), null, new HashMap<>());
assertEquals("Precondition", 0, subject.getPrincipals().size());
Assert.assertFalse(module.login());
}
use of org.apache.karaf.jaas.modules.NamePasswordCallbackHandler in project karaf by apache.
the class GSSAPILdapLoginModuleTest method testUserNotFound.
@Test(expected = LoginException.class)
public void testUserNotFound() throws Exception {
Properties options = ldapLoginModuleOptions();
GSSAPILdapLoginModule module = new GSSAPILdapLoginModule();
Subject subject = new Subject();
module.initialize(subject, new NamePasswordCallbackHandler("test", "test"), null, options);
assertEquals("Precondition", 0, subject.getPrincipals().size());
assertFalse(module.login());
}
Aggregations