SSO CAS and Synchronizing --> "Failed to sychronize identity
vantek Mar 13, 2009 9:54 AMHi
I made my own login module by extending IdentityLoginModule. i overrided validatePassword method and getRoleSets method -> it works fine.
I tried to Synchronize the new users with jboss portal users (to access to forum or CMS administration) -> it works fine.
Now i want to login via CAS, i made my own CASAuthenticationService. Now when i loge in, CAS login works, it sets the request attribute "ssoSuccess", but when the validatePassword of the login module is called, input password is null! (but username is correctly set).
Then when it's synchronizing, i obtain an error :
14:41:30,361 WARN [SynchronizingLoginModule] Failed to sychronize identity of user: usernotExisting javax.security.auth.login.LoginException: javax.security.auth.login.LoginException: java.lang.NullPointerException: null text at org.jboss.portal.identity.auth.SynchronizingLoginModule.performSynchronization(SynchronizingLoginModule.java:397) at org.jboss.portal.identity.auth.SynchronizingLoginModule.commit(SynchronizingLoginModule.java:222) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:580) at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityManager.java:603) at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityManager.java:537) at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:344) at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.authenticate(JBossSecurityMgrRealm.java:491) at org.jboss.portal.identity.sso.cas.CASAuthenticationValve.invoke(CASAuthenticationValve.java:348) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:619)
I looked at the source, but didn't find anything =/
can someone tell my what is null in the synchronizing? is it the password?
thanks!