JBoss-sso class cast exception SSOUser
thomascremers Mar 29, 2007 7:26 AMHi,
I've configured a JBoss-sso RC1 environment in jboss-4.0.5. And I'm trying to use the DemoLoginProvider with an simpel non JAAS application. I can see JBoss-sso start up fine and there are no error with deploying the application. However when I call the application and after the
org.jboss.security.saml.SSOManager.processManualLoginNotification(request, "foo-user");
I get an java.lang.ClassCastException: org.jboss.security.saml.SSOUser
I checkout out the code and can see that it throws this acception when it's trying to get the SSOUser object from the session.
Below my configuration and the complete exception.
Thanks,
Thomas
I configured my sso.cfg.xml as follows
<jboss-sso> <identity-management> <login> <provider id="si:jboss-sso:demo:login" class="org.jboss.security.idm.demo.DemoLoginProvider"/> </login> </identity-management> <sso-processor> <processor class="org.jboss.security.saml.JBossSingleSignOn"> <property name="trustServer">http://host.domain.com:8080/federate/trust</property> </processor> </sso-processor> </jboss-sso>
My server.cfg.xml
<jboss-sso> <federation-server> <partners> <partner domain="lunatech.com" server="http://host.domain.com:8080/federate"/> </partners> </federation-server> </jboss-sso>
My context.xml file in the META-INF directory of the application
<Context> <Valve className="org.jboss.security.valve.PlainSSOAutoLogout" logoutURL="/app/logout"/> <Valve className="org.jboss.security.valve.PlainSSOTokenManager" assertingParty="appSSO"/> <Valve className="org.jboss.security.valve.PlainSSOAutoLogin"/> </Context>
And the full exception I get in the server.log
12:30:59,520 ERROR [STDERR] java.lang.ClassCastException: org.jboss.security.saml.SSOUser 12:30:59,521 ERROR [STDERR] at org.jboss.security.valve.PlainSSOAutoLogin.invoke(PlainSSOAutoLogin.java:171) 12:30:59,521 ERROR [STDERR] at org.jboss.security.valve.PlainSSOTokenManager.invoke(PlainSSOTokenManager.java:125) 12:30:59,521 ERROR [STDERR] at org.jboss.security.valve.PlainSSOAutoLogout.invoke(PlainSSOAutoLogout.java:168) 12:30:59,521 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 12:30:59,521 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 12:30:59,522 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 12:30:59,522 ERROR [STDERR] at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) 12:30:59,522 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 12:30:59,522 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 12:30:59,522 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 12:30:59,522 ERROR [STDERR] at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 12:30:59,522 ERROR [STDERR] at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 12:30:59,523 ERROR [STDERR] at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 12:30:59,523 ERROR [STDERR] at java.lang.Thread.run(Thread.java:613) 12:30:59,523 ERROR [PlainSSOAutoLogout] org.jboss.security.valve.PlainSSOAutoLogout[/ldas] javax.servlet.ServletException: org.jboss.security.saml.SSOUser at org.jboss.security.valve.PlainSSOAutoLogin.invoke(PlainSSOAutoLogin.java:188) at org.jboss.security.valve.PlainSSOTokenManager.invoke(PlainSSOTokenManager.java:125) at org.jboss.security.valve.PlainSSOAutoLogout.invoke(PlainSSOAutoLogout.java:168) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:613) 12:30:59,525 ERROR [CoyoteAdapter] An exception or error occurred in the container during the request processing javax.servlet.ServletException: org.jboss.security.saml.SSOUser at org.jboss.security.valve.PlainSSOAutoLogout.invoke(PlainSSOAutoLogout.java:174) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:613) 12:30:59,540 ERROR [STDERR] java.lang.ClassCastException: org.jboss.security.saml.SSOUser 12:30:59,541 ERROR [STDERR] at org.jboss.security.valve.PlainSSOAutoLogin.invoke(PlainSSOAutoLogin.java:171) 12:30:59,541 ERROR [STDERR] at org.jboss.security.valve.PlainSSOTokenManager.invoke(PlainSSOTokenManager.java:125) 12:30:59,541 ERROR [STDERR] at org.jboss.security.valve.PlainSSOAutoLogout.invoke(PlainSSOAutoLogout.java:168) 12:30:59,541 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 12:30:59,541 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 12:30:59,541 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 12:30:59,541 ERROR [STDERR] at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) 12:30:59,542 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 12:30:59,542 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 12:30:59,542 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 12:30:59,542 ERROR [STDERR] at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 12:30:59,542 ERROR [STDERR] at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 12:30:59,542 ERROR [STDERR] at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 12:30:59,542 ERROR [STDERR] at java.lang.Thread.run(Thread.java:613) 12:30:59,542 ERROR [PlainSSOAutoLogout] org.jboss.security.valve.PlainSSOAutoLogout[/ldas] javax.servlet.ServletException: org.jboss.security.saml.SSOUser at org.jboss.security.valve.PlainSSOAutoLogin.invoke(PlainSSOAutoLogin.java:188) at org.jboss.security.valve.PlainSSOTokenManager.invoke(PlainSSOTokenManager.java:125) at org.jboss.security.valve.PlainSSOAutoLogout.invoke(PlainSSOAutoLogout.java:168) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:613) 12:30:59,543 ERROR [CoyoteAdapter] An exception or error occurred in the container during the request processing javax.servlet.ServletException: org.jboss.security.saml.SSOUser at org.jboss.security.valve.PlainSSOAutoLogout.invoke(PlainSSOAutoLogout.java:174) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:613)