Hi, We use org.apache.catalina.realm.DataSourceRealm to authenticate and so on.
The Realm is configured in META-INF/context.xml referencing a Datasource by name: <Realm className="org.apache.catalina.realm.DataSourceRealm" dataSourceName="jdbc/sheeprealm" digest="MD5" roleNameCol="ROLE_NAME" userCredCol="USER_PASS" userNameCol="USER_NAME" userRoleTable="GESTHO.VR_AUTH_USER_ROLES" userTable="GESTHO.VR_AUTH_USER_PASSWORD"/> The Datasource is configured in server.xml in GlobalNamingResources: <Resource auth="Container" connectionProperties="v$session.program=08_SchafeRealm;" driverClassName="oracle.jdbc.OracleDriver" maxActive="20" maxIdle="10" maxWait="-1" name="jdbc/sheeprealm" password="XXX" type="javax.sql.DataSource" url="XXX" username="XXX"/> I'd like to do the resource definition in resources.xml to be able to use Placeholders for DatabaseUrl. But if I move the declaration to resource.xml the Realm dosen't find the Datasource. Okt 25, 2012 2:48:36 PM org.apache.catalina.realm.DataSourceRealm open Schwerwiegend: Exception performing authentication javax.naming.NameNotFoundException: Name [sheeprealm] is not bound in this Context. Unable to find [sheeprealm]. at org.apache.naming.NamingContext.lookup(NamingContext.java:820) at org.apache.naming.NamingContext.lookup(NamingContext.java:154) at org.apache.naming.NamingContext.lookup(NamingContext.java:831) at org.apache.naming.NamingContext.lookup(NamingContext.java:168) at org.apache.catalina.realm.DataSourceRealm.open(DataSourceRealm.java:394) at org.apache.catalina.realm.DataSourceRealm.authenticate(DataSourceRealm.java:285) at org.apache.catalina.realm.CombinedRealm.authenticate(CombinedRealm.java:146) at org.apache.tomee.catalina.TomEERealm.authenticate(TomEERealm.java:43) at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:295) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:450) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Is it possible, and how do I do that? Martin Berner