Got 403 Error with own LoginModule
userand Nov 22, 2006 10:40 AMHi,
I need to implement a LoginModule for the JBoss Portal and I got stuck.
By now I use the plain jboss-portal-2.4.0.
The LoginModule is extending the
UsernamePasswordLoginModuleclass and the methods are
called sucessfully.
I wrote some dummy methods to test if all goes well:
protected String getUsersPassword() throws LoginException { String userName; MyLoginModule.log.info( "getUsersPassword() aufgerufen" ); userName = this.getUsername(); MyLoginModule.log.info( "getUsersPassword(): Benutzername: " + userName ); if( userName.equals( "andreas" ) == true ) { return "pwd_andreas"; } else { return ""; } } protected boolean validatePassword( String inputPassword, String expected ) { boolean result; MyLoginModule.log.info( "validatePassword(): [" + inputPassword + "] [" + expected + "]" ); result = super.validatePassword( inputPassword, expected ); MyLoginModule.log.info( "validatePassword(): " + result ); return result; } protected Group[] getRoleSets() throws LoginException { SimpleGroup actGroup[]; MyLoginModule.log.info( "getRoleSets(): aufgerufen" ); actGroup = new SimpleGroup[1]; actGroup[0] = new SimpleGroup( "Roles" ); actGroup[0].addMember( new SimplePrincipal( "Admin" ) ); MyLoginModule.log.info( "getRoleSets(): fertig." ); return actGroup; }
When I authenticate, I will get an 403 error and the following output in the server logs:
LoginModule Class: de.abracon.jboss.AbraLoginModule
ControlFlag: Anmeldemodul-Steuerflag: required
Options:
2006-11-22 16:09:40,218 INFO [de.abracon.jboss.AbraLoginModule] LoginModule instanziiert.
2006-11-22 16:09:40,218 INFO [de.abracon.jboss.AbraLoginModule] getUsersPassword() aufgerufen
2006-11-22 16:09:40,218 INFO [de.abracon.jboss.AbraLoginModule] getUsersPassword(): Benutzername: andreas
2006-11-22 16:09:40,218 INFO [de.abracon.jboss.AbraLoginModule] validatePassword(): [pwd_andreas] [pwd_andreas]
2006-11-22 16:09:40,218 INFO [de.abracon.jboss.AbraLoginModule] validatePassword(): true
2006-11-22 16:09:40,218 INFO [de.abracon.jboss.AbraLoginModule] getRoleSets(): aufgerufen
2006-11-22 16:09:40,218 INFO [de.abracon.jboss.AbraLoginModule] getRoleSets(): fertig.
2006-11-22 16:09:40,234 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] defaultLogin, lc=javax.security.auth.login.LoginContext@17ea32c, subject=Subject(17484699).principals=org.jboss.security.SimplePrincipal@27542048(andreas)org.jboss.security.SimpleGroup@29176256(Roles(members:Admin))
2006-11-22 16:09:40,234 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] updateCache, inputSubject=Subject(17484699).principals=org.jboss.security.SimplePrincipal@27542048(andreas)org.jboss.security.SimpleGroup@29176256(Roles(members:Admin)), cacheSubject=Subject(870036).principals=org.jboss.security.SimplePrincipal@27542048(andreas)org.jboss.security.SimpleGroup@29176256(Roles(members:Admin))
2006-11-22 16:09:40,234 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] Inserted cache info: org.jboss.security.plugins.JaasSecurityManager$DomainInfo@194ccbc[Subject(870036).principals=org.jboss.security.SimplePrincipal@27542048(andreas)org.jboss.security.SimpleGroup@29176256(Roles(members:Admin)),credential.class=java.lang.String@24659469,expirationTime=1164209980203]
2006-11-22 16:09:40,234 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] End isValid, true
2006-11-22 16:09:40,234 TRACE [org.jboss.security.SecurityAssociation] pushSubjectContext, subject=Betreff:
Principal: andreas
Principal: Roles(members:Admin)
, sc=org.jboss.security.SecurityAssociation$SubjectContext@16de797{principal=andreas,subject=8366806}
2006-11-22 16:09:40,234 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] getPrincipal, cache info: org.jboss.security.plugins.JaasSecurityManager$DomainInfo@194ccbc[Subject(870036).principals=org.jboss.security.SimplePrincipal@27542048(andreas)org.jboss.security.SimpleGroup@29176256(Roles(members:Admin)),credential.class=java.lang.String@24659469,expirationTime=1164209980203]
2006-11-22 16:09:40,234 TRACE [org.jboss.security.SecurityAssociation] getSubject, sc=org.jboss.security.SecurityAssociation$SubjectContext@16de797{principal=andreas,subject=8366806}
2006-11-22 16:09:40,234 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] getUserRoles, subject: Betreff:
Principal: andreas
Principal: Roles(members:Admin)
2006-11-22 16:09:40,234 TRACE [org.jboss.security.SecurityAssociation] clear, server=true
2006-11-22 16:09:40,250 TRACE [org.jboss.security.SecurityAssociation] clear, server=true
2006-11-22 16:16:31,453 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval: 450000
Any idea what went wrong ...