[jboss-user] [Security & JAAS/JBoss] - EJBAccessException
klejs
do-not-reply at jboss.com
Sat Nov 18 10:18:17 EST 2006
Hi,
I'm trying to use JBoss with EJB3 and JAAS but I'm getting an EJBAccessException and I can't figure out why. Im using JBoss 4.0.5.GA and EJB3. When testing for isUserInRole("operator") in my webapp it returns true but the exception is thrown when trying to call a metod on an EJB.
My config and code looks like this:
web.xml
<security-constraint>
| <web-resource-collection>
| <web-resource-name>My resources</web-resource-name>
| <description>Protects the application</description>
| <url-pattern>/*</url-pattern>
| </web-resource-collection>
| <auth-constraint>
| <role-name>operator</role-name>
| </auth-constraint>
| </security-constraint>
|
| <login-config>
| <auth-method>FORM</auth-method>
| <form-login-config>
| <form-login-page>/login.html</form-login-page>
| <form-error-page>/login_error.html</form-error-page>
| </form-login-config>
| </login-config>
jboss-web.xml
<jboss-web>
| <security-domain>java:/jaas/my_security_domain</security-domain>
| </jboss-web>
jboss.xml
<jboss>
| <security-domain>java:/jaas/my_security_domain</security-domain>
| </jboss>
login-config.xml
<application-policy name="my_security_domain">
| <authentication>
| <login-module
| code="org.jboss.security.auth.spi.DatabaseServerLoginModule"
| flag="required">
|
| <module-option name="dsJndiName">java:/myDS</module-option>
| <module-option name="principalsQuery">
| select password from user where username=?
| </module-option>
| <module-option name="rolesQuery">
| select role.rolename, 'Roles' from user_role, role where (user_role.username = ?) and (role.id = user_role.role_id)
| </module-option>
| </login-module>
| </authentication>
| </application-policy>
|
| Code for getting EJB from web app
InitialContext ctx = new InitialContext();
| Object result = ctc.lookup("myEJB");
EJB code
@Stateless
| @RolesAllowed("operator")
| public class MyManagerBean implements MyManager {
| ...
| }
The exception I get looks like this:
aused by: javax.ejb.EJBAccessException: Authentication failure
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.handleGeneralSecurityException(Ejb3AuthenticationInterceptor.java:99)
| at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:70)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:131)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:211)
| at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
| at $Proxy166.listMSOperators(Unknown Source)
| at com.bossmedia.egs.jp.web.MSOperatorsListHandler.listMSOperators(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
| ... 28 more
| aused by: javax.security.auth.login.LoginException: Inga inloggningsmoduler har konfigurerats f÷r java:
| at javax.security.auth.login.LoginContext.init(LoginContext.java:256)
| at javax.security.auth.login.LoginContext.<init>(LoginContext.java:367)
| at javax.security.auth.login.LoginContext.<init>(LoginContext.java:444)
| at org.jboss.security.plugins.SubjectActions$LoginContextAction.run(SubjectActions.java:162)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.jboss.security.plugins.SubjectActions.createLoginContext(SubjectActions.java:277)
| at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityManager.java:600)
| at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityManager.java:535)
| at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:344)
| at org.jboss.aspects.security.AuthenticationInterceptor.authenticate(AuthenticationInterceptor.java:123)
| at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:66)
| ... 43 more
|
Can anyone help me with this? Thanks in advance.
/klejs
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3987072#3987072
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3987072
More information about the jboss-user
mailing list