Hi, Has anyone figured out a simple solution to customize authentication for JBoss Portal? I've searched the forum, but there seems to be no definitive answer. Would be nice if a solution was posted in the docs or Wiki by the JBoss team.
Basically, I'd like to authenticate users against my own db. But as a start, I created a custom LoginModule and placed it in login-config.xml. The code is below, which I got by following this post: http://jboss.org/index.html?module=bb&op=viewtopic&t=118988 I can successfully login with any username/password, but I still see the "Login" link at the top right of the page after I login. I am beginning to assume there is something in the original org.jboss.portal.identity.auth.IdentityLoginModule code that is specific to JBP that normal login module implementors aren't aware of. But I don't have access to the IdentifyLoginModule's source code. Any help is appreciated! public class MyLoginModule extends AbstractServerLoginModule { private String username = null; private Principal identity; private Object password; @Override protected Principal getIdentity() { System.out.println("getIdentity(): " + identity); return identity; } @Override protected Group[] getRoleSets() throws LoginException { System.out.println("getRoleSets()"); Group rolesGroup = new SimpleGroup("Roles"); rolesGroup.addMember(new SimplePrincipal("Authenticated")); rolesGroup.addMember(new SimplePrincipal("Admin")); rolesGroup.addMember(new SimplePrincipal("Users")); rolesGroup.addMember(identity); return new Group[] {rolesGroup}; } public boolean login() throws LoginException { NameCallback nameCallback = new NameCallback("Enter username"); PasswordCallback pwdCallback = new PasswordCallback("Enter password", false); try { callbackHandler.handle(new Callback[] {nameCallback, pwdCallback}); username = nameCallback.getName(); password = new String(pwdCallback.getPassword()); identity = new SimplePrincipal(username); loginOk = true; System.out.println("Username: " + username + ", password: " + password + ", Identity: " + identity); return true; } catch (UnsupportedCallbackException exc) { LoginException le = new LoginException("Internal error!"); le.initCause(exc); throw le; } catch (IOException exc) { LoginException le = new LoginException("Internal error!"); le.initCause(exc); throw le; } } } View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4101068#4101068 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4101068 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
