Foros del Web » Programación para mayores de 30 ;) » Java »

Autentificación FORM + Tomcat + Struts

Estas en el tema de Autentificación FORM + Tomcat + Struts en el foro de Java en Foros del Web. Hola, tengo una aplicación Web basada en Struts y me ha surgido la necesidad de diferenciar usuarios así que he pensado en utilizar este método ...
  #1 (permalink)  
Antiguo 13/01/2007, 06:37
 
Fecha de Ingreso: junio-2004
Mensajes: 43
Antigüedad: 19 años, 10 meses
Puntos: 0
Autentificación FORM + Tomcat + Struts

Hola, tengo una aplicación Web basada en Struts y me ha surgido la necesidad de diferenciar usuarios así que he pensado en utilizar este método de autentificación.

He seguido los pasos de htp://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html para definir los distintos roles y configuraciones. Consigo mostrar el formulario de autentificación pero ponga los datos que ponga, siempre de lleva a la página de error.

HE CREADO LAS TABLAS:

create table users (
user_name varchar(15) not null primary key,
user_pass varchar(15) not null
);

create table user_roles (
user_name varchar(15) not null,
role_name varchar(15) not null,
primary key (user_name, role_name)
);

E INSERTADO LOS VALORES:

mysql> select * from users;
+-----------+-----------+
| USER_NAME | USER_PASS |
+-----------+-----------+
| paco | oculto |
| pepe | superoculto |
+-----------+-----------+
2 rows in set (0.02 sec)

mysql> select * from user_roles;
+-----------+------------+
| USER_NAME | ROLE_NAME |
+-----------+------------+
| paco | supervisor |
| pepe | pycadmin |
+-----------+------------+
2 rows in set (0.00 sec)

MODIFICADO EL FICHERO SERVER.XML DE TOMCAT 5.5:

<Context path="/pyc" docBase="pyc" debug="0" reloadable="false">

<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost:3306/DBPYC"
connectionName="login"
connectionPassword="cualquiera"
userTable="users"
userNameCol="user_name"
userCredCol="user_pass"
userRoleTable="user_roles"
roleNameCol="role_name"
/>
.... etc....

MODIFICADO MI FICHERO WEB.XML

<security-constraint>

<web-resource-collection>
<web-resource-name>User auth</web-resource-name>
<description>Require users to authenticate</description>
<url-pattern>/pages/admin/manager.jsp</url-pattern>
<http-method>POST</http-method>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>pycadmin</role-name>
<role-name>supervisor</role-name>
</auth-constraint>

</security-constraint>

<login-config>
<auth-method>FORM</auth-method>
<realm-name>PyC access</realm-name>
<form-login-config>
<form-login-page>/secure.jsp</form-login-page>
<form-error-page>/pages/common/noautorizacion.jsp</form-error-page>
</form-login-config>
</login-config>

<security-role>
<role-name>pycadmin</role-name>
</security-role>
<security-role>
<role-name>supervisor</role-name>
</security-role>



La página /secure.jsp tiene el código del <form action="j_security_check" ..... y todo parece funcionar bien. Cuando intento acceder a la página protegida /pages/admin/manager.jsp me aparece el formulario pero ya ponga pepe/superoculto o paco/oculto me redirije a la página de error.

¿Qué hago mal? ¿Me falta definir algo en Struts?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:39.