1 Reply Latest reply on Mar 13, 2009 12:26 PM by vantek

    SSO CAS and Synchronizing --> "Failed to sychronize identity

    vantek

      Hi


      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!

        • 1. Re: SSO CAS and Synchronizing -->
          vantek

          Well

          i wrote my own SynchronizingLoginModule based on an old version of this class (found on the anonym svn, for jboss portal 2.6)


          This old version returns an empty string when the password is asked, and the one present in portal 2.7.1 return a null string.


          Now i don't have any bug, and the user is correctly created in jboss portal database! (his password is blank, but we don't care, it is just for the correct functioning of portal, login & password are checked in CAS)