Hi,
I am trying to validate users of my ejb server via a database using the
SimpleUserManager.
I have extended SimpleUserManager and overridden the three methods and
confirmed that they are being called and returning true.
I have made the following changes to the descriptors.
ORION-APPLICATION.XML
<orion-application deployment-version="1.5.2">
<ejb-module remote="false" path="ejb.jar" />
<web-module id="web" path="web.war" />
<security-role-mapping name="administration">
<group name="administration" />
</security-role-mapping>
<security-role-mapping name="productbuilder">
<group name="productbuilder" />
</security-role-mapping>
<security-role-mapping name="enduser">
<group name="enduser" />
</security-role-mapping>
<persistence path="persistence" />
<library path="c:\test\ejb.jar" />
<principals path="principals.xml" />
<user-manager class="com.test.rms.user.orion.UCIServerUserManager" />
<log>
<file path="application.log" />
</log>
<namespace-access>
<read-access>
<namespace-resource root="">
<security-role-mapping name="<jndi-user-role>">
<group name="administration" />
<group name="productbuilder" />
<group name="enduser" />
</security-role-mapping>
</namespace-resource>
</read-access>
<write-access>
<namespace-resource root="">
<security-role-mapping name="<jndi-user-role>">
<group name="administration" />
<group name="productbuilder" />
<group name="enduser" />
</security-role-mapping>
</namespace-resource>
</write-access>
</namespace-access>
</orion-application>
PRINCIPALS.XML
<principals>
<groups>
<group name="administration">
<permission name="administration" />
<permission name="rmi:login" />
<permission name="com.evermind.server.rmi.RMIPermission" />
</group>
<group name="productbuilder">
<permission name="rmi:login" />
<permission name="com.evermind.server.rmi.RMIPermission" />
</group>
<group name="enduser">
<permission name="rmi:login" />
<permission name="com.evermind.server.rmi.RMIPermission" />
</group>
</groups>
<users>
</users>
</principals>
ORION-EJB-JAR.XML
<orion-ejb-jar deployment-version="1.5.2" deployment-time="e93e1950d0">
<enterprise-beans>
..
.. (EJB DECLARATION)
..
<assembly-descriptor>
<security-role-mapping name="administration">
</security-role-mapping>
<security-role-mapping name="productbuilder">
</security-role-mapping>
<security-role-mapping name="enduser">
</security-role-mapping>
<default-method-access>
<security-role-mapping name="<default-ejb-caller-
role>" impliesAll="true" />
</default-method-access>
</assembly-descriptor>
</orion-ejb-jar>
When I try to access the ejb server through an external java client
using the following code :
Properties prop = new Properties();
prop.put
("java.naming.factory.initial", "com.evermind.server.ApplicationClientIn
itialContextFactory");
prop.put("java.naming.provider.url", "ormi://localhost/UCIServer");
prop.put("java.naming.security.principal", "adammal");
prop.put("java.naming.security.credentials", "adammal");
Context initial = new InitialContext(prop);
I get the following error :
java.lang.SecurityException: Invalid username/password for UCIServer
(adammal)
at com.evermind._cd._mu(Unknown Source)
at com.evermind._cd._mu(Unknown Source)
at com.evermind._cd._np(Unknown Source)
at com.evermind._ce._np(Unknown Source)
at com.evermind.server.rmi.RMIContext.lookup(Unknown Source)
at com.evermind.server.administration.LazyResourceFinder._np
(Unknown Source)
at
com.evermind.server.administration.LazyResourceFinder.getEJBHome
(Unknown Source)
at com.evermind._ck._ho(Unknown Source)
at
com.evermind.server.ApplicationClientInitialContextFactory.getInitialCon
text(Unknown Source)
at javax.naming.spi.NamingManager.getInitialContext
(NamingManager.java:668)
at javax.naming.InitialContext.getDefaultInitCtx
(InitialContext.java:246)
at javax.naming.InitialContext.init(InitialContext.java:222)
at javax.naming.InitialContext.<init>(InitialContext.java:198)
at com.temp.rms.uciserver.client.ListValueTypesTest.main
(ListValueTypesTest.java:28)
Can anyone shed any light on this for me?
Thanks, Adam
---------------------------------------------------------------------
mBox makes you work Smarter, not Harder, from only $0.58 per WEEK!
Visit http://www.mbox.com.au