Come accennato in precedenza, i reclami provenienti da varie fonti possono essere mantenuti tra le sessioni tramite un cookie creato durante il processo di autenticazione di default con OWIN. Questo è solitamente configurato in \ App_Start \ Startup.Auth.cs. È possibile impostare le cose come quando scade il cookie, se si desidera una scadenza di scorrimento (il timeout del cookie viene aggiornato sulle visite di ritorno), dove si trova l'endpoint di autenticazione/autorizzazione, ecc. La parte successiva consente di agganciarsi alla fornitura di ulteriori attestazioni durante ClaimsPrincipal e ClaimsIdentity processo di creazione. Con una scadenza decente, devi farlo solo una volta per la sessione degli utenti. Nei successivi viaggi di ritorno al tuo sito, il middleware OWIN analizzerà il cookie e ricrea tutti i reclami da questo passaggio.
Non dovresti preoccuparti delle dimensioni dei cookie e il nuovo middleware OWIN auth implementa il chunking dei cookie (è attualmente disponibile nelle fonti di pre-release - la versione stabile non è un chunk).
Abbiamo implementato questo nella nostra azienda e abbiamo diverse fonti di reclami: il nostro servizio di single signon interno, la directory attiva e il database della nostra applicazione (per i ruoli e le proprietà aggiuntive sull'utente che ci interessa monitorare).
Bummer, quindi come gestisci i ruoli provenienti da Active Directory, che potrebbero essere 20 o 30 a causa di ambienti aziendali? Immagino che dovresti creare un ClaimsIdentity ibrido che era in qualche modo collegato ad Active Directory? –
Non li memorizzi nel cookie? – leastprivilege
Oppure utilizzare l'autenticazione di Windows: in questo modo si ottiene WindowsIdentity. – leastprivilege