Problemas con autentificacion basada en formularios

thepolice0101
22 de Julio del 2004
Hola como estan tengo un problema: estoy trabajando con autenticacion basada en formularios...la version
de tomcat con la cual estoy trabajando es la 4.0.6, el problema es que al logearme al sistema
al momento de autenticarme salem error en el login y el password...lo que pasa es que el longin
y el password estan correctos, por mas que he tratado siempre me manda a la pagina de error, para
un mejor entendimiento aqui escribo el codigo de las jsps:

************ index.jsp **********
<%@page contentType="text/html"%>
<html>
<head><title>Protected Page</title></head>
<body>
<%
out.println("<h2>Authentication mechanism " + request.getAuthType() + "</h2>");
%>
</body>
</html>


******** login.jsp ***
<%@page contentType="text/html"%>
<html>
<head><title>Login Page</title></head>
<body>
<H2>Login Page</H2>
<FORM method="post" action='j_security_check'>
<INPUT type="text" name='j_username'>
<INPUT type="password" name='j_password'>
<INPUT type="submit" value='Login Now'>
</FORM>
</body>
</html>


***** error.jsp ********
<%@page contentType="text/html"%>
<html>
<head><title>Authentication Error</title></head>
<body>
El nombre de usuario/contraseña introducido no es válido.<BR>
Por favor <a href='login.jsp'>try again</A><BR>
Si siguen apareciendo problemas pongase en contacto con el administrador
de la pagina en [email protected]
</body>
</html>

**** este es archivo tomcat-users.xml *****
<?xml version='1.0' encoding='utf-8'?>
<!--
NOTE: By default, no user is included in the "manager" role required
to operate the "/manager" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="begjsp"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user name="tomcat" password="tomcat" roles="tomcat" />
<user name="role1" password="tomcat" roles="role1" />
<user name="both" password="tomcat" roles="tomcat,role1" />
<user username="admin" password="" roles="admin,manager"/>
<user name="newuser" password="" roles="begjsp" />
</tomcat-users>

***** este esl archivo web.xml de la aplicacion *****
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<session-config>
<session-timeout>
30
</session-timeout>
</session-config>

<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
<welcome-file>
index.html
</welcome-file>
<welcome-file>
index.htm
</welcome-file>
</welcome-file-list>

<security-constraint>
<web-resource-collection>
<web-resource-name>Aplicacion completa</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>begjsp</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>

</web-app>


como pueden ver el ejemplo es sencillo, este mismo ejemplo lo he probado en el tomcat 5 y alli si
corre normal...pero cual es la razon, un dato mas el tomcat que estoy usando (4.0.6)es el que
viene en el NetBeans IDE 3.5.1 quizas esta version no es la completa...porque cuando instale
la version 5 de tomcat lo instale completo y me he puesto a comparar los archivos de las 2 versiones,
y la veriosn 5(la q esta completa) tiene mas cosas que la 4.0.6 como por ejemplo en la carpeta server
se encuentra la carpeta webapps donde se encuentran las subcarpetas admin y manager y entre otras cosas
mas que lo diferencian... Tiene que estar completo para que pueda funcionar
la autenticacion correctamente??????????. Esto que probe los dos tomcat lo probe en windows ya que
tengo esas 2 versiones para windows...tambien lo probe en linux (en el cual si estoy trabajando
realmente, en windows solo sirvio para probarlo) la version 4.0.6 que viene en NetBeans... para linux
y me salia el mismo error. alguen sabe porque sucede esto...se lo agradeceria de antemano su
ayuda.