Prima di tutto, ASP.NET Core non ha più il supporto per Membership
, dovresti usare Identity
.
Recentemente mi sono imbattuto in tale requisito mentre le nostre applicazioni crescevano e, ogni volta, dovevamo implementare l'appartenenza / l'identità per ciascuna di esse.
La soluzione che ho trovato era quella di creare un server di autenticazione centralizzato che accetti le credenziali dell'utente, connettersi al database, autenticare le credenziali e generare / restituire token ( JWT
). Questo token servirà allo scopo dell'autenticazione e dell'autorizzazione attraverso le attestazioni. Solo questa applicazione / server implementerà l'identità.
Su qualsiasi applicazione client con risorse protette ( Authorize
), dovrebbero implementare un middleware che leggerà il token e convaliderà le affermazioni. Non è necessario che il middleware si connetta nuovamente al database per convalidare le attestazioni. Questo token verrà aggiunto all'intestazione Authorization
ogni volta che viene effettuata una richiesta a una risorsa protetta.
Ogni volta che crei una nuova applicazione che utilizzerà lo stesso server di autenticazione, tutto ciò che devi fare è implementare / iniettare il middleware di convalida. Non è necessario ri-implementare nuovamente l'identità.
Fai riferimento alle risorse sottostanti per le nozioni di base e amp; dettagli di implementazione.
References:
- link
- link
- link
- link
Risorse aggiuntive una volta che hai completato le basi:
- link
- link
Nota: nel mio scenario, tutte le applicazioni interagiscono con lo stesso database.