Problem solved. The missing glue is, if you define Realm and DataSource inside the Context, don`t forget to specify
localDataSource="true" When the realm is nested inside a Context element, this allows the realm to use a DataSource defined for the Context rather than a global DataSource. If not specified, the default is false: use a global DataSource. Thanks to Alessandro regards Oliver > -----Ursprüngliche Nachricht----- > Von: Walter, Oliver (BR/ICI3) [mailto:[EMAIL PROTECTED] > Gesendet: Montag, 29. Januar 2007 17:42 > An: Tomcat Users List > Betreff: AW: datasource-realm troubles > > Hello David, > > thanks for the reply. We are talking about your 2. description. > > The file is named "context.xml" and it is stored in the war`s META-INF > directory. > > The full error output is: > 106627 [http-8080-Processor24] DEBUG > com.jmangos.beans.LoginBean - Validating given password. > 106627 [http-8080-Processor24] DEBUG > com.jmangos.persistance.hibernate.AccountDAO - finding > Account instance with property: username, value: test7 > 106827 [http-8080-Processor24] ERROR > org.apache.catalina.core.ContainerBase.[Catalina].[localhost]. > [/jmangos] - Exception performing authentication > javax.naming.NameNotFoundException: Name jdbc is not bound in > this Context > at > org.apache.naming.NamingContext.lookup(NamingContext.java:769) > at > org.apache.naming.NamingContext.lookup(NamingContext.java:152) > at > org.apache.catalina.realm.DataSourceRealm.open(DataSourceRealm > .java:401) > at > org.apache.catalina.realm.DataSourceRealm.authenticate(DataSou > rceRealm.java:282) > at > org.apache.catalina.authenticator.FormAuthenticator.authentica > te(FormAuthenticator.java:257) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut > henticatorBase.java:416) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > Valve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > Valve.java:105) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn > gineValve.java:107) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap > ter.java:148) > at > org.apache.coyote.http11.Http11Processor.process(Http11Process > or.java:869) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHa > ndler.processConnection(Http11BaseProtocol.java:664) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT > cpEndpoint.java:527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le > aderFollowerWorkerThread.java:80) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool.java:684) > at java.lang.Thread.run(Thread.java:595) > > As you can see in the second line: > 106627 [http-8080-Processor24] DEBUG > com.jmangos.persistance.hibernate.AccountDAO - finding > Account instance with property: username, value: test7 > Hibernate is working well using the same datasource. > > > My full context.xml is: > > <?xml version="1.0" encoding="UTF-8"?> > > <Context path="/jmangos" docBase="jmangos" debug="5" reloadable="true" > crossContext="false"> > > <Resource name="jdbc/mangos" auth="Container" > type="javax.sql.DataSource" maxActive="10" > maxIdle="2" maxWait="10000" > username="" password="" > driverClassName="com.mysql.jdbc.Driver" > > url="jdbc:mysql://localhost:3306/realmd?autoReconnect=true" /> > > <Realm > className="org.apache.catalina.realm.DataSourceRealm" debug="4" > dataSourceName="jdbc/mangos" > userTable="account" > userNameCol="username" > userCredCol="password" > userRoleTable="account" > roleNameCol="gmlevel" /> > </Context> > > regards Oliver > > > -----Ursprüngliche Nachricht----- > > Von: David Smith [mailto:[EMAIL PROTECTED] > > Gesendet: Montag, 29. Januar 2007 17:11 > > An: Tomcat Users List > > Betreff: Re: datasource-realm troubles > > > > I would guess from the outset that your "Context.xml" file > isn't being > > used. Where are your putting it and what are you naming it? > > What's the > > name of your webapp when deployed? > > > > Quick checks: > > > > 1. It has to be named to match your webapp if your are storing it in > > Catalina/localhost and deploying an expanded webapp. If > the webapp is > > named fubar, then the file should be named fubar.xml. > > > > 2. If deploying a .war file, it has to be named context.xml > > (note: case > > is important) and stored in the war files META-INF directory. > > > > > > --David > > > > Walter, Oliver (BR/ICI3) wrote: > > > > >Hello, > > > > > >i have some trouble using a datasource realm in tomcat 5.5.20, jdk > > >1.5.0_09. > > > > > >In META-INF/Context.xml i defined a datasource: > > > > > ><Resource name="jdbc/mangos" auth="Container" > > > type="javax.sql.DataSource" maxActive="10" maxIdle="2" > > >maxWait="10000" > > > username="" password="" > > > driverClassName="com.mysql.jdbc.Driver" > > > > > >url="jdbc:mysql://localhost:3306/realmd?autoReconnect=true" /> > > > > > >and in web.xml a resource reference: > > > > > ><resource-ref> > > > <description>DB Connection</description> > > > <res-ref-name>jdbc/mangos</res-ref-name> > > > <res-type>javax.sql.DataSource</res-type> > > > <res-auth>Container</res-auth> > > ></resource-ref> > > > > > >With hibernate everything works fine, no problems, but if > i define a > > >datasource realm in Context.xml > > > > > ><Realm className="org.apache.catalina.realm.DataSourceRealm" > > debug="4" > > > dataSourceName="jdbc/mangos" > > > userTable=... /> > > > > > >it can`t find the resource name: > > > > > >javax.naming.NameNotFoundException: Name jdbc is not bound in this > > >Context > > > at > > >org.apache.naming.NamingContext.lookup(NamingContext.java:769) > > > at > > >org.apache.naming.NamingContext.lookup(NamingContext.java:152) > > > at > > >org.apache.catalina.realm.DataSourceRealm.open(DataSourceReal > > m.java:401) > > > at > > >org.apache.catalina.realm.DataSourceRealm.authenticate(DataSo > > urceRealm.j > > >ava:282) > > > ... > > > > > >I tried already the following namings, jdbc/mangos, > > >java:comp/env/jdbc/mangos, mangos, java:/comp/env/jdbc/mangos > > >with no luck. > > > > > >I can workaround this issue, when defining the resource in > server.xml > > ><GlobalNamingResources> > > >and create a <ResourceLink name="jdbc/mangos" global="jdbc/mangos" > > >type="javax.sql.DataSource" /> > > >in Context.xml, but i would prefer, doing Realm and Datasource > > >definition together in Context.xml. > > > > > > > > >The second issue i run into is programming my webapp against > > the realm > > >interface. I want to built > > >up the Navigation Panel dynamically based on the users > asigned roles, > > >but when i try to access > > >GenericPrincipal i get "java.lang.NoClassDefFoundError: > > >org/apache/catalina/realm/GenericPrincipal". > > > > > >I also can workaround this issue by copying the catalina into my > > >webapp`s classpath (WEB-INF/lib/), > > >but i`m pretty this is not correct. > > > > > >I would be appreciate for any help. > > > > > >Regards Oliver > > > > > > > > > > > > > > > > > > >--------------------------------------------------------------------- > > >To start a new topic, e-mail: users@tomcat.apache.org > > >To unsubscribe, e-mail: [EMAIL PROTECTED] > > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To start a new topic, e-mail: users@tomcat.apache.org > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]