Otherwise, I haven't dealt in realm definitions. Does the datasource work from code? In otherwords, write a quick and dirty little jsp to access the db and put up some success message. If that works, the issue is most likely in the realm def somehow.
--David
Angel Cervera Claudio wrote:
Error with realm using DataSource:
Problem is that DataSourceRealm can not find JNDI name in context.
There are a bug in tomcat 4.1, but this was resolved.
I'm using tomcat 5.0.28.
My xml in Catalina/localhost content:
<?xml version='1.0' encoding='utf-8'?> <Context displayName="Gestion de cunetas." docBase="/home/angel/workspace/yeguadas/tmp/web" path="/yeguadas" useNaming="false">
<Realm className="org.apache.catalina.realm.DataSourceRealm" dataSourceName="jdbc/YeguadasDB" roleNameCol="NOMBRE" userCredCol="PASSWORD" userNameCol="NOMBRELOGIN" userRoleTable="USUARIO_PERFILES" userTable="USUARIO"/>
<Resource auth="Container" name="jdbc/YeguadasDB" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/YeguadasDB"> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/yeguadas?autoReconnect=true</value> </parameter> <parameter> <name>validationQuery</name> <value>select count(*) from usuario;</value> </parameter> <parameter> <name>maxIdle</name> <value>30</value> </parameter> <parameter> <name>maxActive</name> <value>100</value> </parameter> <parameter> <name>driverClassName</name> <value>org.gjt.mm.mysql.Driver</value> </parameter> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <parameter> <name>username</name> <value>ijdshkhds</value> </parameter> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>password</name> <value>fdfdferfr</value> </parameter> </ResourceParams> </Context>
My web.xml: <?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="javax/servlet/resources/web-app_2_4.xsd" version="2.4">
<display-name>Gestion de cunetas.</display-name>
<resource-ref>
<description>Yeguadas DB Connection</description>
<res-ref-name>jdbc/YeguadasDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!-- Standard Action Servlet Configuration (with debugging) --> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<!-- Para el displaytag. -->
<filter>
<filter-name>ResponseOverrideFilter</filter-name> <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class> </filter>
<filter-mapping>
<filter-name>ResponseOverrideFilter</filter-name> <url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping> <filter-name>ResponseOverrideFilter</filter-name> <url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- SECURITY CONSTRAINT -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Toda</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>usuario</role-name>
</auth-constraint>
<!--
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
-->
</security-constraint>
<!-- LOGIN AUTHENTICATION --> <login-config> <auth-method>BASIC</auth-method> </login-config>
<!-- SECURITY ROLES --> <security-role> <role-name>usuario</role-name> </security-role>
<!-- Struts Tag Library Descriptors --> <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-nested</taglib-uri> <taglib-location>/WEB-INF/lib/struts-nested.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-tiles</taglib-uri> <taglib-location>/WEB-INF/lib/struts-tiles.tld</taglib-location> </taglib> <!-- JSTL Tag Library Descriptors --> <taglib> <taglib-uri>/tags/jstl/core</taglib-uri> <taglib-location>/WEB-INF/lib/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/lib/fmt.tld</taglib-location> </taglib>
<!-- DisplayTags tags. -->
<taglib>
<taglib-uri>/tags/displaytag</taglib-uri>
<taglib-location>/WEB-INF/lib/displaytag-12.tld</taglib-location>
</taglib>
</web-app>
This is the exception when user try login: 2004-09-09 15:43:46 DataSourceRealm[/yeguadas]: Excepci�n realizando autenticaci�n
javax.naming.NameNotFoundException: El nombre jdbc no este asociado a este contexto
at org.apache.naming.NamingContext.lookup(NamingContext.java:768)
at org.apache.naming.NamingContext.lookup(NamingContext.java:151)
at org.apache.catalina.realm.DataSourceRealm.open(DataSourceRealm.java:437)
at org.apache.catalina.realm.DataSourceRealm.authenticate(DataSourceRealm.java:277)
at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:129)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
________________________________________________________________________ Angel Cervera Claudio Telf. +34 670819234 Mail: [EMAIL PROTECTED] Web: http://www.acervera.com Msn Messenger: [EMAIL PROTECTED] Yahoo Messenger: angelcervera AOL Messenger: angelcervera
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
