[Tech] Re: Autenticazione

Cosimo Vagarini cosimo@firenze.linux.it
Sab 17 Feb 2001 12:40:18 CET


Leonardo Boselli scrisse, il 16-Feb-2001
> NON capisco ... intendi dire che posso mettere un cgi dentro una 
> directory controllata da htaccess ?

Perche' no?
Devi aver configurato Apache di modo che la directory dei cgi-bin abbia:
AllowOverride AuthConfig
Per il php, ovviamente non importa. Deve avere l'AuthConfig la dir htdocs.
E' ovvio che puoi mettere un cgi anche nella cartella "htdocs" (o come si
chiama la tua) basta che per quella directory ci sia:
Options +ExecCGI

> > Oppure puoi fare una rewrite rule agendo  su %{REMOTE_USER}
> > nell'.htaccess oppure su %{LA-U:REMOTE_USER} nell'httpd.conf.
> Questa mi farerebbe piacere ... ma ancora non capisco come ... 
> non e`che hai un esempio ? 
> Come si comnporta se l'utente ha aperti pił frame cioascuno dei 
> quali con uno userrname/password diversa ?

Crei il file .htaccess e il relativo file delle password (do' per scontato
che tu sappia come si fa).
Nel httpd.conf (nella sezione adeguata <VirtualHost>, oppure generale):

RewriteEngine on
RewriteCond %{LA-U:REMOTE_USER}   ^leo$
RewriteRule ^(.*)$      /var/www/ut1.html 
RewriteCond %{LA-U:REMOTE_USER}   ^nardo$
RewriteRule ^(.*)$      /var/www/ut2.html

Se gli utenti sono pochi, altrimenti con una map:
Il file map.txt sara' cosi':
leo        ut1
nardo      ut2
bos        ut3
elli       ut4

RewriteEngine on
RewriteMap   ut       txt:/var/dati/map.txt
RewriteRule  ^(.*)$   /var/www/${ut:%{LA-U:REMOTE_USER}}

In entrambi i casi io chiedo dal browser: 
http://www.tuoserver.it/

Apache ti chiede l'autenticazione e ti redirige sulla pagina /var/www/utX.html
mantenendo pero' invariato l'URL indicato nel browser.

Fatto cosi' pero' va bene se e' solo questa la pagina da vedere e non ci sono
altri links perche' la RewriteRule agirebbe sempre e ti rimanderebbe sempre
alla stessa pagina.

> Come si comnporta se l'utente ha aperti pił frame cioascuno dei 
> quali con uno userrname/password diversa ?

Non puo' esistere perche' il browser non ti richiede l'autenticazione per ogni
frame o finestra, ma una volta sola.

Personalmente lascerei l'autenticazione ad Apache ma poi saranno gli script
a decidere il da-farsi.

Cosimo.





Maggiori informazioni sulla lista flug-tech