Kommentarer
- Definiera " OK " och " Föråldrad, " och förklara " Don ' t som. "
- Varför är den här frågan stängd !? OP: n frågar om FormsAuthentication är föråldrad i MVC 5 och om det finns ' en annan teknik som ersätter den. Detta är inte en opinionsbaserad fråga som " Vad tycker du om att använda FormsAuthentication i MVC 5 ".
- @Tony_Henrich, ja, jag förstår inte ' varför detta är stängt. Lyckligtvis gav Rowan ett användbart svar innan stängningen. Delvis baserat på hans svar använde jag fortfarande FormsAuthentication i mitt MVC5-projekt.
- Jag förstår inte ' varför detta stängdes? Är inte ' t denna fråga syftet med denna stackutbyte och ställer inte den här typen av frågor i stackoverflow?
- Jag don ' förstår inte varför den här frågan stängdes? Mitt projekt migrerar från asp.net 4.0 webbformulär med formulärautentisering till asp.net 4.5 MVC5 och jag ' undersöker det bästa tillvägagångssättet med den aktuella koden. Låt ' inte tillåta att StackExchange måttas sämre än Wikipedia.
Svar
Ja. FormsAuthentication är utfasad i MVC 5 och framåt.
Det är åtminstone det korta svaret.
Det långa svaret är att pre-MVC 5 traditionella FormsAuthentication är fortfarande ok att använda . Det fasas dock ut till förmån för alternativa tillvägagångssätt ASP.NET Identity .
I Visual Studio 2013 är de verifieringsalternativ som tillhandahålls för och MVC 5-applikationen följande:
I det här fallet Enskilda användarkonton hänvisar till ASP.NET-identitet .
Enligt Microsoft är det tidigare ASP.NET-medlemskap har ersatts med ASP.NET Identity,
[…] exempelapplikationen konfigurerad för att använda ASP.NET Identity ( tidigare känt som ASP.NET-medlemskap )
(Min betoning)
Microsoft anger också
Det nya medlemssystemet är baserat på OWIN snarare än ASP.NET Forms Authentication-modulen.
Så identiteten ersatte inte exakt FormsAuthentication, utan ersatte snarare medlemssystemet som använde FormsAuthentication. En bra sak också, för enligt en fråga som jag ställde 2013 är Medlemskap ganska förvirrande .
En typ av FormsAuthentication existerar fortfarande men . Enligt Microsoft har
ASP.NET också stöd för formulärautentisering genom FormsAuthenticationModule, som emellertid endast kan stödja applikationer som finns på ASP.NET och inte har stöd för anspråk. Här är en grov funktionsjämförelselista:
Så om du fortfarande vill använda FormsAuthentication, kolla in Förstå OWIN Forms-autentisering i MVC 5 .
Så Microsoft uppmuntrar dig att använda ASP.NET Identity. Du behöver naturligtvis inte. Du kan helt enkelt välja Ingen autentisering och projektet kommer inte att implementera något åt dig. Det är då upp till dig att uppfylla ditt medlemskap / inloggningsbehov .
Kommentarer
- Varken OP eller detta svar nämner anpassad formulärautentisering. I mina appar vill jag inte ' inte använda det inbyggda medlemskapet kontroller och SQL Server-tabeller men istället autentisera en användare med min kod och användartabell. Sedan en gång autentiserad använder jag FormsAuthentication för att skapa och ställa in auth-cookien. Jag använder inte ' .NET Identity men jag hoppas att det stöder detta scenario också.
- @Tony_Henrich, " verifierar en användare med min kod och användartabell. När jag väl har autentiserat använder jag FormsAuthentication för att skapa och ställa in auth-cookien " Det ' är precis vad jag slutar göra. Jag gillar verkligen inte ASP.NET-medlemskontroller och dess SQL Server-tabeller. För " ASP.NET-medlemskap " -system vet jag att det definitivt är utfasat och bör sluta användas (sedan för många år sedan faktiskt)
- Ett bra öppen källkodsprojekt som använder MVC5 och anpassad formulärautentisering: github.com/YodasMyDad/mvcforum