DatabaseServerLogin Problem with JBoss3.0RC2
milesif May 22, 2002 4:45 PMHi everybody,
I have defined the following realm in my login-config.xml
<application-policy name = "SISDomain">
<login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule"
flag = "required">
<module-option name = "dsJndiName">java:/MSSQLDS</module-option>
<module-option name = "principalsQuery">SELECT Password FROM RisorseUmane WHERE UserName=?</module-option>
<module-option name = "rolesQuery">SELECT Gruppo FROM RisorseUmane WHERE UserName=?</module-option>
<module-option name = "unauthenticatedIdentity">guest</module-option>
</login-module>
</application-policy>
In my jboss.xml I put the tag
<security-domain>java:/jaas/SISDomain</security-domain>
that should make JBoss authenticate clients calling my EJB against SISDomain.
On the client side I have defined a login config file with the following entry
SISDomain {
org.jboss.security.ClientLoginModule required;
};
When I call the home.create() I get the following error:
22:06:34,604 ERROR [UsersRolesLoginModule] Failed to load users/passwords/role f
iles
java.io.IOException: Properties file users.properties not found
at org.jboss.security.auth.spi.UsersRolesLoginModule.loadProperties(User
sRolesLoginModule.java:212)
at org.jboss.security.auth.spi.UsersRolesLoginModule.loadUsers(UsersRole
sLoginModule.java:193)
at org.jboss.security.auth.spi.UsersRolesLoginModule.initialize(UsersRol
esLoginModule.java:95)
at java.lang.reflect.Method.invoke(Native Method)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:651)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:1
29)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:599)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java
:596)
at javax.security.auth.login.LoginContext.login(LoginContext.java:523)
at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecur
ityManager.java:390)
at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecur
ityManager.java:357)
at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityMa
nager.java:214)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.getSubjec
t(BaseConnectionManager2.java:670)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateC
onnection(BaseConnectionManager2.java:496)
at org.jboss.resource.adapter.jdbc.local.LocalDataSource.getConnection(L
ocalDataSource.java:101)
at org.jboss.security.auth.spi.DatabaseServerLoginModule.getUsersPasswor
d(DatabaseServerLoginModule.java:96)
at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(Usernam
ePasswordLoginModule.java:142)
at java.lang.reflect.Method.invoke(Native Method)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:664)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:1
29)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:599)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java
:596)
at javax.security.auth.login.LoginContext.login(LoginContext.java:523)
at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecur
ityManager.java:390)
at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecur
ityManager.java:357)
at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityMa
nager.java:214)
at org.jboss.ejb.plugins.SecurityInterceptor.checkSecurityAssociation(Se
curityInterceptor.java:165)
at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityIntercep
tor.java:93)
at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:1
09)
at org.jboss.ejb.StatelessSessionContainer.invokeHome(StatelessSessionCo
ntainer.java:300)
at org.jboss.ejb.Container.invoke(Container.java:727)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
364)
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:4
43)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:643)
at java.lang.Thread.run(Thread.java:484)
22:06:34,614 ERROR [SecurityInterceptor] Authentication exception, principal=bet
ta
It seems that the container authenticates against the
org.jboss.security.auth.spi.UsersRolesLoginModule of the "other" default security domain defined in login-config.xml.
I miss something but I don't know what.
Please help.
Ciao Francesco