2009-07-21 11 views
8

Esistono provider di appartenenze ASP.NET personalizzate in vendita con maggiore sicurezza? Ad esempio, la possibilità di avere più domande/risposte presentate casualmente per il ripristino della password, impostare il numero di tentativi di accesso, forzare il ripristino della password ogni 30 giorni, impedire la duplicazione delle password per la nuova password per un certo periodo di tempo, ecc.Esistono provider di appartenenze ASP.NET personalizzate in vendita con maggiore sicurezza?

risposta

0

Ho aggiornato di recente il mio provider personalizzato con alcune delle funzionalità richieste. Sfortunatamente non è esattamente in vendita, ma volevo dirti che non sarebbe stato terribilmente difficile da fare da solo.

La funzione di domanda/risposta multipla e il ripristino forzato (scadenza password) possono essere effettivamente implementati utilizzando qualsiasi provider poiché non vengono applicati direttamente dal provider. Per abilitare le reimpostazioni della password, puoi semplicemente definire una costante nelle tue appSettings, ad esempio "PasswordLifetimeInDays". Quindi, nella pagina di accesso, è sufficiente sovrascrivere il metodo di autenticazione e ispezionato la proprietà LastPasswordChange di MembershipUser. Se la loro password è scaduta, reindirli a una pagina ChangePassword, altrimenti esegui il log in. Consulta this article per una spiegazione dettagliata dell'implementazione di questa funzione.

Lo scenario di domanda pre-generato è anche qualcosa che non si adatta perfettamente alla funzionalità del provider. Sebbene, una soluzione di terze parti potrebbe contenere questo meccanismo in un'API separata, suppongo.

SqlMembershipProvider fornisce già un modo per impostare il numero di tentativi di accesso tramite l'attributo MaxInvalidPasswordAttempts.

In realtà, la funzionalità di password duplicate è l'unica parte che appartiene veramente all'implementazione del provider in quanto richiede una tabella aggiuntiva per tracciare la cronologia delle password.

Fatemi sapere se decidete di implementare questa roba da soli e potrei offrire qualche ulteriore guida.

Problemi correlati