8.3. Configurazione autenticazione¶
Contenuti
8.3.1. Gestione sessioni WEB & cookie¶
8.3.1.1. Gestione Sessioni Permanenti¶
Attraverso il parametro di configurazione SESSION_EXPIRE_AT_BROWSER_CLOSE (nel file conf/settings.py) e' possibile indicare se una sessione WEB resta valida anche dopo che e' stata chiusa la finestra del browser.
Esempio: Le sessioni scadono appena si chiude il browser web.
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
8.3.1.1.1. Durata delle sessioni permanenti¶
Quando il parametro SESSION_EXPIRE_AT_BROWSER_CLOSE e' impostato a False (default) la durata di una sessione dipende dal parametro di configurazione SESSION_COOKIE_AGE.
Il parametro SESSION_COOKIE_AGE indica la durata in secondi di una sessione web autenticata.
Esempio:
SESSION_COOKIE_AGE = 3600 # Durata di una sessione web e di 1 ora (3600 secondi)
8.3.1.1.2. Sessioni permanenti e form di autenticazione¶
Quando il parametro SESSION_EXPIRE_AT_BROWSER_CLOSE e' False (default) la form di autenticazione di Sanet permette di specificare (tramite una "checkbox") se la sessione e' permanente (non scade alla chiusura del browser).
La durata delle sessioni permanenti dipende comunque dal parametro di configurazione SESSION_COOKIE_AGE. Vedi Durata delle sessioni permanenti.
8.3.1.2. Gestione username Case-Insensitive¶
La maschera di login di Sanet tratta DI DEFAULT lo username in modo case insentitive.
Tutti i caratteri in maiuscolo vengono convertiti in minuscolo prima di verificare le credenziali di autenticazione.
Important
La password utente e' sempre gestita con logica case sensitive.
Se si vuole forzare una gestione case sensitive anche per lo username, bisogna intervenire sul file di configurazione di Sanet ed impostare:
AUTH_WEB_LOGIN_USERNAME_CASE_SENSITIVE = True
8.3.2. Moduli autenticazione¶
Per specificare i moduli di autenticazione da usare bisogna modificare la sezione di configurazione del file di configurazione settings.py:
AUTHENTICATION_BACKENDS = (
'.....modulo python1....',
'.....modulo python2....',
'.....modulo python3....',
'.....modulo python4....',
)
Esempio:
AUTHENTICATION_BACKENDS = (
'sanet_common.django.auth.backends.ldap_auth.LDAPBackend',
'sanet_common.django.auth.backends.dummy.DummyBackend',
)
Il sistema tentera' di verificare le credenziali provando in sequenza tutti moduli indicati.
8.3.2.1. Autenticazione di default¶
Il modulo sanet_common.django.auth.backends.dummy.DummyBackend e' il modulo di autenticazione di default.
IMPORTANTE: E' buona regola lasciare sempre questo modulo per avere sempre utenti "locali" ed avere una "backdoor" valida in caso i sistemi di autenticazione esterni non siano funzionanti.
Consultare in appendice la sezione Moduli di autenticazione per avere maggiori dettagli sui moduli d'autenticazione disponibili e la loro configurazione.
8.3.2.1.1. Test password¶
Se si sta utilizzando il sistema di autenticazione di default e' possibile testare la password di un utente con il comando:
sanet-manage test_user_password <user>
8.3.2.2. Moduli di autenticazione disponibili¶
Per l'elenco di tutti i moduli di autenticazione utilizzabili si rimanda a: Moduli di autenticazione.