[Tech] basic authentication e javascript
Franco Bagnoli
bagnoli@dma.unifi.it
Ven 15 Feb 2002 10:39:50 CET
On Fri, 15 Feb 2002, Marco Ermini wrote:
> On Fri, 15 Feb 2002 09:27:22 +0100 (CET), Claudio Mannucci <claman64@tin.it>
> wrote:
> Solo un dettaglio: il problema non e' certo di Apache, ma e' del client. Se
> chiudi netscape e lo riapri, il realm non ce l'hai mica piu'...
si, ma vorrei qualcosa di meno macchinoso....
> Concordo che conviene usare altri sistemi. I cookies non sono magari il
> massimo per la sicurezza e la portabilita'. In genere conviene usare dei
> session-id a livello applicativo (certo che pero', passare dall'httpd-realm di
> apache alle session-id lato server, si complica notevolmente il tutto!)
come avrete capito il problema è che esiste già una applicazione che
manipola il file .htpasswd aggiungendo e togliendo gli utenti, e io non ho
tanta voglia di metterci le mani sopra altrimenti poi mi tocca mantenere
il tutto.
Comunque secondo me le soluzioni sono due:
1) uso un sistema coockie (cui sono filosoficamente contrario) o
url-encoded (tanto poi è lo stesso) per memorizzare una session-id sul
browser
2) mantengo la corrispondenza session-id/utente su un database (così
gestisco anche il timeout)
3) scrivo un handler che, se la session-id è valida setta l'id dell'utente
in apache, altrimenti ritorna un 401 (o 404?) insomma, chiede la password,
e controlla sul file .htpasswd
accessHandler: controllo se la sessione è valida
se si setto l'ID e salto authenHandler
se no torno un FORBIDDEN o quel che è
authHandler: controllo su .htpasswd
se ok loggo la sessione su DB e
setto il coockie o la key-id
oppure metto le mani sull'applicazione ed elimino anche il .htpasswd....
Tra l'altro ho visto che su Konqueror l'autenticazione tipo "basic" non
viene proposta automaticamente per tutti i documenti, come invece fa
netscape, explorer, ecc, con il risultato che mi chiede id/passwd ad ogni
pagina....
Grazie comunque per i consigli. Se sapete dove vedere un esempio
funzionante (mi sembra di ricordare sul sito di randall schwarz?) fatemelo
sapere.
Ciao.
--
Franco Bagnoli (franchino) <bagnoli@dma.unifi.it>
virtual location: Dipartimento di Energetica "S. Stecco"
real location: Dip. Matematica Applicata "G. Sansone", Universita' Firenze,
Via S. Marta, 3 I-50139 Firenze, Italy. Tel. +39 0554796422, fax: +39 055471787
GPG Key fingerprint = 169D 9EA5 8FD3 7EDA E43A 9830 255F BCEC 0D63 3728
Maggiori informazioni sulla lista
flug-tech