Having followed the documentation "JAAS Based Security in JBoss", I get a
"ClassCastException" on the server during the authentication stage (no
matter whether the user logging in is authorized or not). The code seems to
be trying to cast a "SimplePrinciple" to a String. Has anyone else come
across this problem and is there a fix?
Platform:
JBoss v2.2.0 FINAL on JDK 1.3 (JVM 1.3.0-C) on Windows NT
SERVER STACK TRACE
[JAASSecurity] User 'billy' authenticated.
[TravelAgentBean] javax.security.auth.login.LoginException:
java.lang.ClassCastException: org.jboss.security.SimplePrincipal
at
org.jboss.security.plugins.samples.RolesLoginModule.commit(RolesLoginModule.
java:74)
at java.lang.reflect.Method.invoke(Native Method)
at
javax.security.auth.login.LoginContext.invoke(LoginContext.java:595)
at
javax.security.auth.login.LoginContext.access$000(LoginContext.java:125)
at
javax.security.auth.login.LoginContext$3.run(LoginContext.java:531)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:528)
at
javax.security.auth.login.LoginContext.login(LoginContext.java:450)
at
org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityMana
ger.java:332)
at
org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityMana
ger.java:301)
at
org.jboss.security.plugins.JaasSecurityManager.doesUserHaveRole(JaasSecurity
Manager.java:252)
at
org.jboss.ejb.plugins.SecurityInterceptor.checkSecurityAssociation(SecurityI
nterceptor.java:225)
at
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.jav
a:144)
at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:106)
at
org.jboss.ejb.StatelessSessionContainer.invokeHome(StatelessSessionContainer
.java:253)
at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(JRMPContai
nerInvoker.java:369)
at java.lang.reflect.Method.invoke(Native Method)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
at sun.rmi.transport.Transport$1.run(Transport.java:142)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:139)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:443)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:6
43)
at java.lang.Thread.run(Thread.java:484)
[TravelAgentBean] at
javax.security.auth.login.LoginContext.login(LoginContext.java:462)
[TravelAgentBean] at
org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityMana
ger.java:332)
[TravelAgentBean] at
org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityMana
ger.java:301)
[TravelAgentBean] at
org.jboss.security.plugins.JaasSecurityManager.doesUserHaveRole(JaasSecurity
Manager.java:252)
[TravelAgentBean] at
org.jboss.ejb.plugins.SecurityInterceptor.checkSecurityAssociation(SecurityI
nterceptor.java:225)
[TravelAgentBean] at
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.jav
a:144)
[TravelAgentBean] at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:106)
[TravelAgentBean] at
org.jboss.ejb.StatelessSessionContainer.invokeHome(StatelessSessionContainer
.java:253)
[TravelAgentBean] at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(JRMPContai
nerInvoker.java:369)
[TravelAgentBean] at java.lang.reflect.Method.invoke(Native Method)
[TravelAgentBean] at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
[TravelAgentBean] at
sun.rmi.transport.Transport$1.run(Transport.java:142)
[TravelAgentBean] at
java.security.AccessController.doPrivileged(Native Method)
[TravelAgentBean] at
sun.rmi.transport.Transport.serviceCall(Transport.java:139)
[TravelAgentBean] at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:443)
[TravelAgentBean] at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:6
43)
[TravelAgentBean] Warning, session-roles could not perform role mapping for:
billy
[TravelAgentBean] at java.lang.Thread.run(Thread.java:484)
[TravelAgentBean] Illegal access, principal=billy method=create
CLIENT STACK TRACE
java.rmi.ServerException: RemoteException occurred in server thread; nested
exception is:
java.rmi.RemoteException: checkSecurityAssociation; nested exception
is:
java.lang.SecurityException: Illegal access exception
java.rmi.RemoteException: checkSecurityAssociation; nested exception is:
java.lang.SecurityException: Illegal access exception
java.lang.SecurityException:
Illegal access exception at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteC
all.java:245) at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:220)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.invokeHome(Unkno
wn Source)
at
org.jboss.ejb.plugins.jrmp.interfaces.HomeProxy.invoke(HomeProxy.java:248)
at $Proxy0.create(Unknown Source)
at com.titan.travelagent.Client_1.main(Client_1.java:78)
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development