No method permissions assigned to method=create
kv_moj Mar 14, 2003 2:44 AMHi people,
I've seen a few postings for this problem with many suggested solutions. I heve tried these all including explicitly granting permissions to create and ejbCreate methods for all the ejbs and still get the same exception.
I'm using Jboss304/Tomcta4.x running on seperate jvms.
I use the ClientLoginModule to establish the caller identity with jboss on each request from tomcat. This works fine as I see the Principal being dispalyed correctly.
In jboss, when I use one of the simple login modules (UserRolesLoginModule) I get this:
08:26:11,147 ERROR [SecurityInterceptor] No method permissions assigned to met
d=create, interface=HOME
08:26:11,157 ERROR [LogInterceptor] EJBException, causedBy:
java.lang.SecurityException: No method permissions assigned to method=create,
terface=HOME
at org.jboss.ejb.plugins.SecurityInterceptor.checkSecurityAssociation(
curityInterceptor.java:190)
at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterc
tor.java:94)
at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java
29)
at org.jboss.ejb.StatelessSessionContainer.invokeHome(StatelessSession
ntainer.java:300)
at org.jboss.ejb.Container.invoke(Container.java:730)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.jav
382)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImp
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java
60)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTranspo
.java:701)
at java.lang.Thread.run(Thread.java:536)
But when I use the DatabaseServerLoginModule I get this:
08:48:46,435 ERROR [SecurityInterceptor] Authentication exception, principal=kv
08:48:46,435 ERROR [LogInterceptor] EJBException, causedBy:
java.lang.SecurityException: Authentication exception, principal=kv
at org.jboss.ejb.plugins.SecurityInterceptor.checkSecurityAssociation(Se
curityInterceptor.java:173)
at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityIntercep
tor.java:94)
at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:1
29)
at org.jboss.ejb.StatelessSessionContainer.invokeHome(StatelessSessionCo
ntainer.java:300)
at org.jboss.ejb.Container.invoke(Container.java:730)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
382)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
60)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:701)
at java.lang.Thread.run(Thread.java:536)
Here's my assembly descriptor:
<assembly-decriptor>
<method-permission>
<ejb-name>FWAutonumberEJB</ejb-name>
<method-name>*</method-name>
<ejb-name>FWAutonumberEJB</ejb-name>
<method-name>create</method-name>
<ejb-name>FWAutonumberEJB</ejb-name>
<method-name>ejbCreate</method-name>
<ejb-name>FWEJBDataAccessEJB</ejb-name>
<method-name>*</method-name>
<ejb-name>FWEJBDataAccessEJB</ejb-name>
<method-name>create</method-name>
<ejb-name>FWEJBDataAccessEJB</ejb-name>
<method-name>ejbCreate</method-name>
.....
.....
.....
</method-permission>
</assembly-decriptor>
So what's the story with this?
What am I doing wrong here????
kv.