[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Que tal lista
Antes que nada una disculpa por el off-topic
Tengo el siguiente requerimiento de seguridad (para una aplicación web
desarrollado bajo apache-mod_perl-mason):
La aplicación requiere saber si es un usuario externo o interno.
Si es interno requiere su cta y clave, de lo contrario no lo
requiere (si es interno el usuario tiene derechos a ver detalles
de la información)
La solución que trato de dar, es desarrollar un handler que funcione en
la fase de autentificación ( PerlAuthenHandler).
Para los usuarios interno voy a crear una credencial en base a su cta y
clave (si son correctas) y otro credencial por default para el externo.
Ya en el módulo; si la credencial no viene en el requerimiento lo
redirecciono a una página personal para solicitar su cuenta y clave o
para que indique que es un usuario externo.
Estoy usando la autentificación basica.
Y el problema es:
Cuando recibo el requerimiento con cuenta y clave (y después de
autentificarse correctamente) creo su credencial y al header le agrego
el campo de Autorization con la credencial creada. Para el siguiente
requerimiento pierdo la credencial y por lo tanto se va a la pagina de
entrada ....????
En cambio si dejo que el browser muestre su caja de dialogo para
solicitar cuenta y clave y después de pasar todo el proceso de
autentificación ya no se pierde la credencial (hasta que salgo del
browser) para los posteriores request
Dudas:
¿Como puedo hacer que no se pierda la credencial con mi propia página de
entrada?
Estoy investigando y me estoy dando de topes..... por que no quiero
pasar la credencial ya sea en el url o por un campo hidden ... mas bien
estoy tratando de enviarla por un campo del header
¿Donde puede investigar mas? estoy leyendo sobre el protocolo http,
google...
Saludos y reitero la disculpa por el off-topic
Si viene la credencia
Es posible desarrollo (bajo mod_perl 1.0 y apache 1.3) el siguiente
esquema de autentificación:
En un espacio protegido (digamos http://localhost/privado) la primera
vez que se recibe un request y si no se ha autentificado enviarlo a una
pagina personal para dicha antentificación. Esa página tendrá opción a
indicar que es usuario externo, por lo tanto no requiere ni cuenta ni
clave.