[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