Tworzę stronę internetową przy użyciu ASP.NET MVC 5. Czy Microsoft wydał jakąkolwiek technologię zastępującą FormsAuthentication, czy nadal zaleca uwierzytelnianie użytkownika za pomocą FormsAuthentication dla MVC 5?
Tworzę stronę internetową przy użyciu ASP.NET MVC 5. Czy Microsoft wydał jakąkolwiek technologię zastępującą FormsAuthentication, czy nadal zaleca uwierzytelnianie użytkownika za pomocą FormsAuthentication dla MVC 5?
Odpowiedzi:
Tak. Uwierzytelnianie formularzy jest przestarzałe w MVC 5 i nowszych.
Przynajmniej taka krótka odpowiedź.
Długa odpowiedź jest taka, że tradycyjne uwierzytelnianie formularzy wcześniejszych niż MVC 5 jest nadal w użyciu . Jest jednak stopniowo wycofywany na korzyść alternatywnych podejść, takich jak ASP.NET Identity .
W Visual Studio 2013 dostępne są następujące opcje uwierzytelnienia i aplikacja MVC 5:
W takim przypadku indywidualne konta użytkowników odnoszą się do tożsamości ASP.NET .
Według Microsoft dawne członkostwo ASP.NET zostało zastąpione przez ASP.NET Identity,
[...] przykładowa aplikacja zostanie skonfigurowana do używania tożsamości ASP.NET ( wcześniej znanej jako członkostwo ASP.NET )
(Moje podkreślenie)
Microsoft również stwierdza
Nowy system członkostwa oparty jest na OWIN, a nie na module uwierzytelniania formularzy ASP.NET.
Tak więc tożsamość nie zastąpiła dokładnie FormsAuthentication, a raczej zastąpiła system członkostwa, który korzystał z FormsAuthentication. Dobrze, że zgodnie z pytaniem, które zadałem w 2013 r., Członkostwo jest raczej mylące .
Jednak nadal istnieje pewien rodzaj uwierzytelnienia formularza . Według Microsoftu ,
Program ASP.NET obsługuje również uwierzytelnianie formularzy za pośrednictwem modułu FormsAuthenticationModule, który jednak może obsługiwać tylko aplikacje hostowane w programie ASP.NET i nie obsługuje obsługi roszczeń. Oto przybliżona lista porównawcza funkcji:
Jeśli więc nadal chcesz korzystać z uwierzytelniania formularzy , zapoznaj się z artykułem Opis uwierzytelniania formularzy OWIN w MVC 5 .
Microsoft zachęca więc do korzystania z tożsamości ASP.NET. Oczywiście nie musisz. Możesz po prostu wybrać opcję Brak uwierzytelnienia, a projekt nie zaimplementuje niczego. To od Ciebie zależy, czy spełnisz swoje wymagania dotyczące członkostwa / logowania .