Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2007, 10:30
yeyocp
 
Fecha de Ingreso: octubre-2006
Mensajes: 50
Antigüedad: 17 años, 6 meses
Puntos: 0
autenticacion basada en formularios, ayuda

tengo una aplicación basada en struts. quiero usar autenticacion basada en formularios. Para ello he seguido los siguientes pasos:

en el archivo web.xml tengo lo siguiente:

...
<security-role>
<role-name>administrador</role-name>
</security-role>

<security-constraint>
<web-resource-collection>
<web-resource-name>Aplicación completa</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>administrador</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>
...

en login.jsp simplemente pide nombre de usuario y contraseña al iniciar la aplicacion

en el server.xml he puesto:

<Context path="/concesionario-aplicacion" docBase="concesionario- aplicacion" debug="0" reloadable="true">
<Realm className="org.apache.catalina.realm.JDBCRealm"
debug="99" driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost:3306 /concesionario_db"
userTable="empleado" userNameCol="empleado_id"
userCredCol="password" userRoleTable="rol_usuario"
roleNameCol="nombre_rol" />
</Context>

He creado las correspondientes tablas en la base de datos

create table empleado (empleado_id varchar(20) not null primary key,
password varchar(20) not null);

create table rol_usuario (empleado_id varchar(20) not null,
nombre_rol varchar(20) not null,
primary key(empleado_id,nombre_rol));

y he añadido a las tablas unos datos de ejemplo.

Pero al intentar logearme me dirige siempre a la página de error(error.jsp) y eb el fichero de log del tomcat me aparece el error:

GRAVE: Excepción al realizar la autentificación
java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)

Para acceder a la base de datos desde la aplicacion tengo hecha una agrupación de conexiones aunque no creo que eso tenga que ver con esto.

A ver si alguien me puede ayudar, un saludo.