Hello chris,
Thanks again for the help.I will try to be more clear so that maybe
you could help figure out what I am doing wrong.
Like I said before I am trying to setup a DataSourceRealm to
authenticate users by pull out the user information from a MySQL
database.
1- I already created the tables and columns in my database that
conforms to the requirements.
2 - I also configured a JNDI named jdbc/oaso on TomCat Server
Administration. I tested this connection through a DBCP and it´s
working fine.
3- I created a Realm inside the server.xml to use the JNDI jdbc/oaso
between the <Engine> tags
4- I configured the <security-constraint> on the web.xml
When I run the project I get the following error:
29/05/2007 12:23:55 org.apache.catalina.realm.DataSourceRealm open
SEVERE: 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(DataSourceRealm.java:282)
at
org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:180)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
The server.xml
<?xml version="1.0" encoding="UTF-8"?>
<Server
port="8025">
<Listener className="org.apache.catalina.core.AprLifecycleListener"/>
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener
className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<GlobalNamingResources>
<Environment
name="simpleValue"
type="java.lang.Integer"
value="30"/>
<Resource
name="jdbc/oaso"
type="javax.sql.DataSource"
maxActive="4"
maxIdle="2"
username="root"
maxWait="5000"
driverClassName="com.mysql.jdbc.Driver"
password="xxxxxx"
url="jdbc:mysql://localhost:3306/renatovivacqua"/>
<Resource
auth="Container"
description="User database that can be updated and saved"
name="UserDatabase"
type="org.apache.catalina.UserDatabase"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml"/>
</GlobalNamingResources>
<Service
name="Catalina">
<Connector
port="8084"
redirectPort="8443"
minSpareThreads="25"
connectionTimeout="20000"
uRIEncoding="utf-8"
maxSpareThreads="75"
maxThreads="150">
</Connector>
<Connector
port="8009"
redirectPort="8443"
protocol="AJP/1.3">
</Connector>
<Connector
port="8443"
scheme="https"
secure="true"
minSpareThreads="25"
clientAuth="false"
maxSpareThreads="75"
maxThreads="150"
sslProtocol="TLS">
</Connector>
<Engine
defaultHost="localhost"
name="Catalina">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
<Realm className="org.apache.catalina.realm.DataSourceRealm"
debug="99"
dataSourceName="jdbc/oaso"
localDataSource="true"
userTable="users"
userNameCol="user_name"
userCredCol="user_pass"
userRoleTable="user_roles"
roleNameCol="role_name"/>
<Host
appBase="webapps"
autoDeploy="false"
liveDeploy="false"
name="localhost">
</Host>
</Engine>
</Service>
</Server>
On 5/24/07, Christopher Schultz <[EMAIL PROTECTED]> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Paulo,
Paulo Vivacqua wrote:
> I copied the Mysql Driver's jar into $CATALINA_HOME/common/lib.
Ok.
> I already created the database with the required tables user,
> user-roles and roles.
Ok.
> I configured JNDI DataSource in Tomcat by adding a declaration for my
> resource named jdbc/oaso into a Context path to
> $CATALINA_HOME/conf/server.xml.
So you have a JNDI data source configured in server.xml? Does it need to
be global? If not, put it into your webapp in META-INF/context.xml
> I configured the <security-constraint> on the web.xml
Ok.
> I added the <resource-ref> to the jdbc/oaso into the web.xml
Good. If you configure your DataSource in context.xml, you don't need
this step, though I don't think it hurts.
So... how doesn't it work?
Do you get an exception? If so, give us the stack trace.
Do you get a log message? If so, give us the message.
You still haven't described what is wrong. For all I can tell, it's
working. <shrug>
- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGVeve9CaO5/Lv0PARArGuAJ90ugIycb6XnBc1UFDjDoaLs+WWygCfXRuW
qidBk4elye0qqFm4W4eDurw=
=7mX9
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Paulo Vivacqua
[EMAIL PROTECTED]
msn: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]