2014-10-03 28 views
6

Esistono alcuni vantaggi principali dell'utilizzo dell'autenticazione basata su cookie OWIN tramite l'autenticazione basata su cookie dell'autenticazione basata su form per lo sviluppo di applicazioni Web MVC?OWIN Cookies vs FormsAuthentication

La ragione per cui chiedo è che non utilizzerei alcun hook basato su Entity Framework per l'autenticazione OWIN. Ho creato app basate su Forms Authentication per anni e sono stato in grado di fare cose come creare diversi token di autenticazione per amministratori (timeout più veloci), utenti anonimi e utenti registrati. Usando la parte UserData del ticket sono stato in grado di implementare l'uscita universale, memorizzare proprietà personalizzate, ecc.

Uno dei vantaggi di OWIN potrebbe essere la testabilità, ma non ne sono sicuro. Il ClaimsIdentity è piuttosto carino perché posso facilmente memorizzare e accedere ai campi personalizzati senza dover serializzare/deserializzare le proprietà in UserData. Altre cose che dovrei prendere in considerazione?

+0

Questo non ha nulla a che fare con OWIN .. questa è l'identità di asp.net, che per caso si è trasferita anche al livello owin nel modello predefinito, ma può anche essere utilizzata altrove. OWIN è solo un livello di astrazione middleware. Si dovrebbe probabilmente adottare presto perché la prossima versione di Visual Studio sarà fortemente dipendente da esso perché la dipendenza di System.Web è in fase di eliminazione. –

risposta

8

Il middleware di autenticazione dei cookie può essere eseguito in qualsiasi host OWIN incluso IIS, mentre FormsAuthenticationModule può essere eseguito solo in IIS + ASP.NET. Se hai una necessità presente o futura di hosting in diversi tipi di host, CAM è un'opzione migliore. Un'altra caratteristica del middleware, ma non FAM, è il chunking dei cookie. Se i dati dell'utente sono abbastanza grandi perché il cookie superi il limite di dimensioni consentito, i browser semplicemente smettono di inviare il cookie di autenticazione mentre il middleware blocca i cookie grandi in più piccoli cookie e li ricompone al ricevimento.

+3

Per espandere su questo, ASP.NET si sta spostando verso un modello che è meno dipendente dal server che viene utilizzato. Stare con FormsAuth ti lega a IIS, di cui forse non ti interessa oggi, ma un giorno avrai molto lavoro da fare per sistemare tutto questo ... meglio adottare il nuovo metodo ora quando è facile, poiché questo è il modo in cui andrà avanti. –