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.