Sto scrivendo un'applicazione personalizzata per la reimpostazione della password che utilizza una tecnica di convalida che non si adatta in modo pulito alle domande di richiesta del provider di appartenenze di ASP.NET.
Ovviamente ho bisogno di richiamare un flusso di lavoro e raccogliere informazioni dall'utente finale (numero di telefono di backup, indirizzo email) dopo che l'utente ha effettuato l'accesso utilizzando un modulo personalizzato.
L'unico modo che conosco per creare una sessione basata sui cookie (senza troppa "innovazione" da parte mia) è usare WIF.
- Quali altri oggetti standard posso utilizzare con ASP.NET MVC per creare una sessione autenticata che funzioni con gli archivi utente non Windows?
Idealmente posso memorizzare "ruolo" o rivendicare informazioni nell'oggetto di sessione come "admin", "departmentXadmin", "normalUser" o "restrictedUser"
Il flusso di lavoro sarà simile a questo:
- L'utente accede con nome utente e password
- Se username e pw sono corretti, viene creata una sessione basata su cookie (stateless)
- L'utente viene reindirizzato a un modulo HTML che consente loro di inserire il proprio numero di telefono di backup (per doppio fattore SMS) o di convalidarlo se già impostato.
- L'utente può quindi modificare la propria password utilizzando il modulo fornito
La "password dimenticata" sarebbe simile a questa
- L'utente richiede il codice OTP da inviare al telefono
- L'utente accede utilizzando il nome utente e l'OTP
- Se l'OTP è valido e non è scaduto, crea una sessione basata su cookie e reindirizza a un modulo che consente il ripristino della password
- Mostra il modulo per la reimpostazione della password ed elabora i risultati.