PerlSetVar Protecteds meee
PerlSetVar ProtectedLoginScript /protectedloginform
La siguiente lista le dice lo que esta ocurriendo en la configuraci6n ante-
rior:
+ Laclave ProtectedTicketExpires determina el tiempo de ex-
piracion de la sesion (ticket) en minutos.
+ Lallave ProtectedTicketLogoutURI determina la URL que se
muestra tras utilizar un registro de usuario.
* ProtectedTicketLoginHandler determina la ruta del manejador
de registros, que debe corresponder a un contenedor ,
tal y como se discute mas tarde.
+ ProtectedTicketIdleTimeout determina el nimero de minu-
tos en los que una sesién puede estar parada.
+ protectedPath determina la ruta de la cookie. El valor por defecto
/ asegura que se devuelve la cookie con todas las solicitudes. Puede
restringir la cookie al area protegida simplemente cambiando / a /
protected (oa cualquier localizacion que esté protegiendo).
+ ProtectedDomain determina el nombre de dominio de la cookie.
E! punto inicial asegura que la cookie es enviada a todos los host Web
en el mismo dominio. Por ejemplo, si lo fijamos en mobidac.com
permitiria ver la cookie en web1].Mobidac.com o en
web2.Mobidac.com. También puede restringir la cookic a un sdlo
host especificando aqui el fully qualified host name.
+ Fijando ProtectedSecure en | aseguramos que la cookie es segu-
ra.
* ProtectedLoginScript determina la localizacién para el for-
mulario de registro, que es generado por el médulo.
Ahora necesita crear un contenedor para el directorio /
protected del siguiente modo:
AuthType Apache: :AuthTicket
AuthName Protected
PerlAuthenHandler Apache
AuthTicket->authenticate
PerlAuthzHandler Apache cket->authorize
require valid-user
Aqui se le dice a Apache que pida las credenciales validas del usuario, que
ha de ser autentificado por el médulo Apache: : AuthTicket.
PA)8. Ahora necesita establecer los manejadores para la pantalla de registro,
script de registro y las funciones logout del médulo del siguiente modo:
AuthType Apache: :AuthTicket
AuthName Protected
SetHandler perl-sc
Perlhandler Apache::
>login_screen
AuthType Apache: :AuthTicket
AuthName Prot
SetHandler
PerlHandler
AuthTicket->login
AuthType Apache: :AuthTicket
AuthName Protected
SetHandler perl-script
PerlHandler Apache: :AuthTicket->logout
9. Una vez que ha creado la configuracién anterior, asegirese de que ha
afiadido al menos un usuario a la tabla wwwusers. Ver la seccion "Ges-
tionar usuarios y grupos en una RDBM" de este capitulo para obtener los
detalles de como gestionar usuarios en una base de datos.
10. Reinicie el servidor Web de Apache utilizando el comando /usr/1o-
cal/apache/bin/apachectl restart.
11. Aseguirese de que ve la cookie, determine en su navegador Web que pida
las cookies. Para Netscape Navigator, puede comprobar el Warn me antes
de almacenar una opcién cookie utilizando la opcién Edit>Preference>
Advanced>Cookies. Para Microsoft IE, debe utilizar las opciones
Tools>Internet Options>Security>Custom Levels>Cookies>Prompt.
12. Ahora acceda al directorio http: //your_server_name/
protected/ y vera un formulario Web solicitando su nombre de usua-
rio y su contrasefia. Introduzca un nombre de usuario valido y una contra-
sefia no valida y el formulario Web deberia simplemente volver a mostrarse.
Ahora introduzca un par nombre de usuario/contrasefia valido y su
navegador Web le pedira permiso para almacenar la cookie. A continua-
cién tenemos una muestra de sesi6n (ticket) invalida.
Cookie Name: Apache: :AuthTicket_Protected
Cookie Domain: nitec.com
Path: /
Expires: End of session13.
15,
Secure: Yes
Data
expires: 986390493:version:
bf5ac94173071cde94489ef79£24b158
hash:
88389593
Capacite al navegador web para que almacene la cookie y tendra acceso a
la seccion Web restringida.
_ A continuacién, deberia verificar que no hay un nuevo ticket en la tabla de
tickets. Puede registrarse en su base de datos del servidor y ver el conteni-
do de la tabla de tickets. Por ejemplo, en un sistema Linux ejecutando un
servidor MySQL, puede ejecutar el comando select * from tickets,
una vez que esta registrado en MySQL mediante el comando mysql -u
httpd -p auth. A continuacion se muestra una salida:
mysql> select *
m tickets;
| 145e12ad47da87791ace99036e35357d | 988393278 |
15d1679b8a78£9b0abfI2E9Beicds | 988393401 |
feennn------ +
1
+
2
rows in set (0.00 sec)
Aqui MySQL informa que hay dos sesiones conectadas actualmente a un
servidor Web.
Puede forzar a los navegadores Web para que se registren de nuevo, elimi-
nando los tickets almacenados en esta tabla. Por ejemplo, editando el co-
mando delete from tickets en su servidor de bases de datos,
elimina todos los registros en la tabla de tickets y fuerza a todo el mundo a
que se registre de nuevo.