[jboss-user] [EJB 3.0 Users] - Losing Credentials After Call to Method
pcarrollnf
do-not-reply at jboss.com
Fri Aug 28 19:31:16 EDT 2009
I am using JBoss 5.1.0.
1. I call a method that requires a role which the calling user is a member of. This call succeeds.
2. The next call is to a class that creates a JMS message and publishes the message. This call succeeds.
3. The next call is to the same method as in #1. However this time I receive an exception as in the following:
Caused by: javax.ejb.EJBAccessException: Caller unauthorized
| at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:199)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:176)
| at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:216)
| at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:207)
| at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:164)
| at $Proxy361.setDocumentStatus(Unknown Source)
I have narrowed it down to where I call:
TopicConnetion connection = myTopicFactory.createTopicConnection();
It appears that after that call, I lose the user credentials for the next method call. The class that produces the JMS factory, connection and session is a utility class and is not part of a persistent unit. Does that have anything to do with it? Thanks.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4252410#4252410
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4252410
More information about the jboss-user
mailing list