FormsAuthentication è obsoleto? [chiuso]


46

Sto creando un sito Web utilizzando ASP.NET MVC 5. Microsoft ha rilasciato qualche tecnologia per sostituire FormsAuthentication o ha ancora consigliato di autenticare l'utente utilizzando FormsAuthentication per MVC 5?


3
Definisci "OK" e "Obsoleto" e spiega "Non mi piace".
Robert Harvey,

24
Perché questa domanda è chiusa !? L'OP chiede se FormsAuthentication è obsoleto in MVC 5 e se c'è un'altra tecnologia che lo sostituisce. Questa non è una domanda basata sull'opinione come "Cosa pensi dell'utilizzo di FormsAuthentication in MVC 5".
Tony_Henrich,

3
@Tony_Henrich, sì, non capisco perché sia ​​chiuso. Fortunatamente Rowan ha fornito una risposta utile prima della chiusura. In parte basato sulla sua risposta, ho ancora usato FormsAuthentication nel mio progetto MVC5.
sean717,

3
Non capisco perché questo è stato chiuso? Questa domanda non è lo scopo di questo scambio di stack e non porre questo tipo di domanda in StackOverflow?
contactmatt

3
Non capisco perché questa domanda sia stata chiusa? Il mio progetto sta migrando da webforms asp.net 4.0 con autenticazione di moduli a asp.net 4.5 MVC5 e sto cercando l'approccio migliore con il codice attuale. Si prega di non consentire a StackExchange di moderare peggio di Wikipedia.
JoshYates1980,

Risposte:


50

Sì. FormsAuthentication è deprecato in MVC 5 e versioni successive.

Almeno, questa è la risposta breve.

La risposta lunga è che l'autenticazione Forms tradizionale pre-MVC 5 è ancora accettabile . Tuttavia, viene gradualmente eliminato a favore di approcci alternativi come ASP.NET Identity .

In Visual Studio 2013, le opzioni di autenticazione fornite e l'applicazione MVC 5 sono le seguenti:

Opzioni di autenticazione VS2013

In questo caso, gli account utente individuali si riferiscono all'identità ASP.NET .

Secondo Microsoft, il precedente abbonamento ASP.NET è stato sostituito con ASP.NET Identity,

[...] l'applicazione di esempio verrà configurata per utilizzare l'identità ASP.NET ( precedentemente nota come appartenenza ASP.NET )

(Enfasi mia)

Anche Microsoft afferma

Il nuovo sistema di appartenenza si basa su OWIN anziché sul modulo di autenticazione moduli ASP.NET.

Quindi Identity non ha sostituito esattamente FormsAuthentication, ma ha sostituito il sistema di appartenenza che utilizzava FormsAuthentication. Una cosa buona anche, perché secondo una domanda che ho posto nel 2013, l' adesione è piuttosto confusa .

Esiste ancora un tipo di autenticazione Forms . Secondo Microsoft ,

ASP.NET ha anche un supporto per l'autenticazione basata su FormsAuthenticationModule, che tuttavia può supportare solo le applicazioni ospitate su ASP.NET e non ha il supporto per i reclami. Ecco un elenco di confronto di funzionalità approssimativo: Confronto delle funzionalità

Quindi, se desideri comunque utilizzare FormsAuthentication, dai un'occhiata a Comprensione dell'autenticazione OWIN Forms in MVC 5 .

Quindi Microsoft ti incoraggia a utilizzare ASP.NET Identity. Non è necessario, ovviamente. Puoi semplicemente selezionare Nessuna autenticazione e il progetto non implementerà nulla per te. Spetta quindi a te soddisfare le tue esigenze di appartenenza / accesso .


5
Né l'OP né questa risposta menzionano l'autenticazione del modulo personalizzato. Nelle mie app, non desidero e non uso i controlli di appartenenza e le tabelle di SQL Server incorporati, ma autentico un utente utilizzando il mio codice e la mia tabella utente. Quindi, una volta autenticato, utilizzo FormsAuthentication per creare e impostare il cookie di autenticazione. Non utilizzo ASP.NET Identity ma spero che supporti anche questo scenario.
Tony_Henrich,

@Tony_Henrich ", autentico un utente usando il mio codice e la mia tabella utente. Quindi, una volta autenticato, utilizzo FormsAuthentication per creare e impostare il cookie di autenticazione" Questo è esattamente ciò che finisco per fare. Non mi piacciono molto i controlli di appartenenza ASP.NET e le sue tabelle di SQL Server. Per il sistema di "appartenenza ASP.NET" so che è decisamente deprecato e dovrebbe essere smesso di essere utilizzato (da molti anni in realtà)
sean717

Un buon progetto open source che utilizza MVC5 e l'autenticazione basata su moduli personalizzati: github.com/YodasMyDad/mvcforum
JoshYates1980,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.