Ich erstelle eine Website mit ASP.NET MVC 5. Hat Microsoft eine Technologie veröffentlicht, die FormsAuthentication ersetzt, oder wird weiterhin empfohlen, den Benutzer mit FormsAuthentication für MVC 5 zu authentifizieren?
Ich erstelle eine Website mit ASP.NET MVC 5. Hat Microsoft eine Technologie veröffentlicht, die FormsAuthentication ersetzt, oder wird weiterhin empfohlen, den Benutzer mit FormsAuthentication für MVC 5 zu authentifizieren?
Antworten:
Ja. FormsAuthentication ist in MVC 5 und höher veraltet.
Zumindest ist das die kurze Antwort.
Die lange Antwort lautet, dass die traditionelle FormsAuthentication vor MVC 5 weiterhin verwendet werden kann . Es wird jedoch zugunsten alternativer Ansätze wie ASP.NET Identity auslaufen .
In Visual Studio 2013 werden die folgenden Authentifizierungsoptionen für und die MVC 5-Anwendung bereitgestellt:
In diesem Fall beziehen sich einzelne Benutzerkonten auf die ASP.NET-Identität .
Laut Microsoft wurde die frühere ASP.NET-Mitgliedschaft durch ASP.NET-Identität ersetzt.
[...] Die Beispielanwendung wird für die Verwendung der ASP.NET-Identität ( früher als ASP.NET-Mitgliedschaft bezeichnet ) konfiguriert.
(Betonung meiner)
Microsoft auch angeben
Das neue Mitgliedschaftssystem basiert auf OWIN und nicht auf dem ASP.NET Forms Authentication-Modul.
Identity hat FormsAuthentication also nicht wirklich ersetzt, sondern vielmehr das Mitgliedschaftssystem, das FormsAuthentication verwendet. Das ist auch gut so, denn gemäß einer Frage, die ich 2013 gestellt habe, ist die Mitgliedschaft ziemlich verwirrend .
Eine Art von FormsAuthentication ist jedoch noch vorhanden . Laut Microsoft ,
ASP.NET bietet auch eine Formularauthentifizierungsunterstützung über das FormsAuthenticationModule, das jedoch nur auf ASP.NET gehostete Anwendungen unterstützt und keine Anspruchsunterstützung bietet. Hier ist eine grobe Feature-Vergleichsliste:
Wenn Sie weiterhin FormsAuthentication verwenden möchten, lesen Sie Grundlegendes zur OWIN-Formularauthentifizierung in MVC 5 .
Microsoft empfiehlt daher die Verwendung von ASP.NET Identity. Das musst du natürlich nicht. Sie können einfach Keine Authentifizierung auswählen und das Projekt implementiert nichts für Sie. Es liegt dann an Ihnen, Ihre Mitgliedschafts- / Login-Anforderungen zu erfüllen .