use of javax.security.auth.spi.LoginModule in project jspwiki by apache.
the class CookieAssertionLoginModuleTest method testLogin.
public final void testLogin() {
MockHttpServletRequest request = m_engine.newHttpRequest();
try {
// We can use cookies right?
Assert.assertTrue(m_engine.getAuthenticationManager().allowsCookieAssertions());
// Test using Cookie and IP address (AnonymousLoginModule succeeds)
Cookie cookie = new Cookie(CookieAssertionLoginModule.PREFS_COOKIE_NAME, "Bullwinkle");
request.setCookies(new Cookie[] { cookie });
m_subject = new Subject();
CallbackHandler handler = new WebContainerCallbackHandler(m_engine, request);
LoginModule module = new CookieAssertionLoginModule();
module.initialize(m_subject, handler, new HashMap<String, Object>(), new HashMap<String, Object>());
module.login();
module.commit();
Set<Principal> principals = m_subject.getPrincipals();
Assert.assertEquals(1, principals.size());
Assert.assertTrue(principals.contains(new WikiPrincipal("Bullwinkle")));
Assert.assertFalse(principals.contains(Role.ASSERTED));
Assert.assertFalse(principals.contains(Role.ALL));
} catch (LoginException e) {
System.err.println(e.getMessage());
Assert.assertTrue(false);
}
}
use of javax.security.auth.spi.LoginModule in project jspwiki by apache.
the class WebContainerLoginModuleTest method testLogin.
public final void testLogin() {
Principal principal = new WikiPrincipal("Andrew Jaquith");
MockHttpServletRequest request = m_engine.newHttpRequest();
request.setUserPrincipal(principal);
try {
// Test using Principal (WebContainerLoginModule succeeds)
CallbackHandler handler = new WebContainerCallbackHandler(m_engine, request);
LoginModule module = new WebContainerLoginModule();
module.initialize(m_subject, handler, new HashMap<String, Object>(), new HashMap<String, Object>());
module.login();
module.commit();
Set<Principal> principals = m_subject.getPrincipals();
Assert.assertEquals(1, principals.size());
Assert.assertTrue(principals.contains(principal));
Assert.assertFalse(principals.contains(Role.ANONYMOUS));
Assert.assertFalse(principals.contains(Role.ASSERTED));
Assert.assertFalse(principals.contains(Role.AUTHENTICATED));
Assert.assertFalse(principals.contains(Role.ALL));
} catch (LoginException e) {
System.err.println(e.getMessage());
Assert.assertTrue(false);
}
}
use of javax.security.auth.spi.LoginModule in project jspwiki by apache.
the class WebContainerLoginModuleTest method testLogout.
public final void testLogout() {
Principal principal = new WikiPrincipal("Andrew Jaquith");
MockHttpServletRequest request = m_engine.newHttpRequest();
request.setUserPrincipal(principal);
try {
CallbackHandler handler = new WebContainerCallbackHandler(m_engine, request);
LoginModule module = new WebContainerLoginModule();
module.initialize(m_subject, handler, new HashMap<String, Object>(), new HashMap<String, Object>());
module.login();
module.commit();
Set<Principal> principals = m_subject.getPrincipals();
Assert.assertEquals(1, principals.size());
Assert.assertTrue(principals.contains(principal));
Assert.assertFalse(principals.contains(Role.AUTHENTICATED));
Assert.assertFalse(principals.contains(Role.ALL));
module.logout();
Assert.assertEquals(0, principals.size());
} catch (LoginException e) {
System.err.println(e.getMessage());
Assert.assertTrue(false);
}
}
use of javax.security.auth.spi.LoginModule in project polymap4-core by Polymap4.
the class ExtLoginModuleLoader method load.
public static LoginModule load(Map options) {
IExtensionRegistry registry = RegistryFactory.getRegistry();
IExtensionPoint point = registry.getExtensionPoint(POINT_MODULE);
IExtension[] extensions = point.getExtensions();
String targetPoint = (String) options.get(ExtensionLoginModule.OPTION_MODULE_POINT);
LoginModule loginModule = null;
for (int i = 0; i < extensions.length; i++) {
String sourcePoint = extensions[i].getUniqueIdentifier();
if (// technically, IDs on extensions are optional
sourcePoint == null)
continue;
if (sourcePoint.equals(targetPoint)) {
IConfigurationElement[] elements = extensions[i].getConfigurationElements();
int elementCount = elements.length;
if (elementCount == 1)
loginModule = readEntry(elements[0]);
else {
String message = NLS.bind(SecAuthMessages.invalidLoginmoduleCount, Integer.toString(elementCount));
AuthPlugin.getDefault().logError(message, null);
}
}
}
return loginModule;
}
use of javax.security.auth.spi.LoginModule in project polymap4-core by Polymap4.
the class ExtLoginModuleLoader method readEntry.
private static LoginModule readEntry(IConfigurationElement element) {
// XXX make this check an utility
if (!ELEM_MODULE.equals(element.getName())) {
String supplier = element.getContributor().getName();
String message = NLS.bind(SecAuthMessages.unexpectedConfigElement, element.getName(), supplier);
AuthPlugin.getDefault().logError(message, null);
return null;
}
// XXX make creation of executable extension and its error handling an utility
try {
LoginModule module = (LoginModule) element.createExecutableExtension(ATTR_MODULE_CLASS);
return module;
// future expandability: description is stored in the attribute "description"
} catch (CoreException e) {
String supplier = element.getContributor().getName();
String message = NLS.bind(SecAuthMessages.instantiationFailed, element.getAttribute(ATTR_MODULE_CLASS), supplier);
AuthPlugin.getDefault().logError(message, e);
return null;
}
}
Aggregations