Segnalazione #862
form/view di login
100%
Description
Creare una view per il login, inizialmente senza funzionalità backend.
In secondo tempo, aggiungere la funzionalità backend relativa (questa seconda parte dopo #856)
Related issues
Associated revisions
Add Login view, using the new template. refs #862
Add the /login url, using the new Login view. refs #862
Show the Login link in the main navbar. refs #862
Merge with t856 to try using it as the login backend. refs: #862
Drafted initial post method for login. refs: #862
Updated merge of t856. refs: #862
Sync with master. refs: #862
Added an initial session manager implementation. refs: #862
Deal with the default of web_session_dir being None. refs: #862
Added an async init method to Manager and Application. refs: #862
Removed jessie workaround for AsyncTestCase, and switch to async/await. refs: #862
Load session and user information in views. refs: #862
Export user information to web apis. refs: #862
user -> current_user as standardized in tornado. refs: #862
Added an AsyncHTTPClientWithCookies wrapper to AsyncHTTPClient for testing. refs: #862
Use AsyncHTTPClientWithCookies for testing instead of setting session id cookie manually in headers. refs: #862
Enable XSRF protection. refs: #862
Fix tests that require HTTP POSTs protected by XSRF protection. refs: #862
Get XSRF token in base template, and and send it in POST requests. refs: #862
History
Updated by Mark Caglienzi over 5 years ago
- Blocked by Segnalazione #856: interfaccia con LDAP asincrona per tornado added
Updated by Mark Caglienzi over 5 years ago
- Status changed from In elaborazione to Commenti
- Assignee changed from Mark Caglienzi to Enrico Zini
Aggiunta la pagina di login con un form e un link nella navbar.
Non c'è nessun backend per ora ovviamente, ma solo un <form> con gli input e il pulsante di submit, che al momento non fanno nulla.
Non ci sono nemmeno, al momento, i link per resettare la password o cambiarla (ci vorrà il backend anche per queste funzioni).
Branch t862 non mergiato in master
Updated by Enrico Zini over 5 years ago
Ho implementato un primo backend basato sul mio primo draft di #856
Updated by Enrico Zini over 5 years ago
- Assignee changed from Enrico Zini to Mark Caglienzi
Il passo successivo è scrivere un semplice session manager, generare un cookie di sessione alla post del login, associarlo all'utente nel backend, e in tutte le altre view vedere se c'è il cookie.
Un primo semplice session manager può essere una directory di file json il cui nome è il nome del cookie.
Giro il ticket per poter continuare lo sviluppo se io non sono disponibile.
Updated by Elena Grandi over 5 years ago
- Blocks Segnalazione #863: Aggiungere permission checking a operation e API added
Updated by Enrico Zini about 5 years ago
- Status changed from In elaborazione to Commenti
- Assignee changed from Mark Caglienzi to Elena Grandi
Ho implementation un session manager manager/web/session.py
con un'implementazione in RAM che non richiede configurazione, e una su filesystem che richiede di settare Config.web_session_dir
.
La chiave di sessione viene gestita in un cookie chiamato sid
.
L'oggetto User
viene serializzato e salvato nella sessione dopo un'autenticazione effettuata con successo.
L'oggetto User
e l'oggetto Session
sono esportati in tutti i RequestHandler, e l'oggetto User
viene passato a tutte le funzioni di web API.
Mentre sistemavo i test di queste funzioni, sono partito con fix a cascata che hanno portato al porting a async/await dei vari unit test, con rimozione dell'AsyncTestCase
di workaround in tests/common.py
Riassegno per verifica e possibilmente merge in master.
Quello che manca, e che credo esuli da questo ticket, è mostrare il nome utente corrente nel master template, e fare effettivamente autorizzazione in base ai permessi utente.
Updated by Elena Grandi about 5 years ago
- Related to Segnalazione #909: Impostare la directory di destinazione per i dati di sessione added
Updated by Elena Grandi about 5 years ago
- % Done changed from 0 to 100
Updated by Elena Grandi about 5 years ago
- Related to Segnalazione #856: interfaccia con LDAP asincrona per tornado added
Updated by Elena Grandi about 5 years ago
- Blocked by deleted (Segnalazione #856: interfaccia con LDAP asincrona per tornado)
Updated by Elena Grandi about 5 years ago
- Related to Segnalazione #860: inserire nome utente e permessi attivi all'interno dell'HTML nel template di base added
Updated by Elena Grandi about 5 years ago
- Blocks deleted (Segnalazione #863: Aggiungere permission checking a operation e API)
Updated by Elena Grandi about 5 years ago
- Related to Segnalazione #863: Aggiungere permission checking a operation e API added
Updated by Elena Grandi about 5 years ago
- Status changed from Chiuso to In elaborazione
riapro per parti mancanti (ma ho tolto il blocco su #863, dato che ora c'è sufficiente materiale per lavorarci)
Updated by Enrico Zini about 5 years ago
- Status changed from In elaborazione to Chiuso
- Assignee changed from Enrico Zini to Elena Grandi
Ho implementato la parte di XSRF protection che mancava, mergiato in master, chiudo.
Add login.html template. refs #862