Чи застаріла форма FormsAuthentication? [зачинено]


46

Я створюю веб-сайт за допомогою ASP.NET MVC 5. Чи випускає Microsoft будь-яку технологію заміни FormsAuthentication чи все ж рекомендує автентифікувати користувача за допомогою FormsAuthentication для MVC 5?


3
Визначте "ОК" та "Застаріле" та поясніть "Не подобається".
Роберт Харві

24
Чому це питання закрите !? ОП запитує, чи FormsAuthentication застаріла в MVC 5 і чи є інша технологія, яка її замінює. Це не питання, засновані на думці, типу "Що ви думаєте про використання FormsAuthentication в MVC 5".
Tony_Henrich

3
@Tony_Henrich, так, я не розумію, чому це закрито. На щастя, Роуан дав корисну відповідь перед закриттям. Частково на основі його відповіді я все ж використовував FormsAuthentication у своєму проекті MVC5.
sean717

3
Я не розумію, чому це було закрито? Чи не це питання є метою цього обміну стеками, а не задавати подібне питання в stackoverflow?
contactmatt

3
Я не розумію, чому це питання було закрито? Мій проект мігрує з веб-форм asp.net 4.0 з автентифікацією форми на asp.net 4.5 MVC5, і я досліджую кращий підхід із поточним кодом. Не дозволяйте StackExchange помірно гірше ніж Вікіпедія.
JoshYates1980

Відповіді:


50

Так. ФормаАутентифікація застаріла в MVC 5 і далі.

Принаймні, така коротка відповідь.

Довга відповідь полягає в тому, що попередньо MVC 5 традиційні FormsAuthentication все ще добре використовувати . Однак він припиняється на користь альтернативних підходів, таких як ASP.NET Identity .

У Visual Studio 2013 запропоновані варіанти аутентифікації та додаток MVC 5 такі:

Параметри аутентифікації VS2013

У цьому випадку індивідуальні облікові записи користувачів посилаються на особу ASP.NET .

За даними Microsoft, колишнє членство в ASP.NET було замінено на особу ASP.NET,

[...] зразок програми буде налаштовано на використання ідентичності ASP.NET ( раніше відомого як членство в ASP.NET )

(Наголос мій)

Microsoft також заявляє

Нова система членства базується на OWIN, а не на модулі аутентифікації ASP.NET Forms.

Тож особистість точно не замінила FormsAuthentication, а скоріше вона замінила систему членства, яка використовувала FormsAuthentication. Хороша річ і тому, що згідно з запитанням, яке я задав у 2013 році, членство досить заплутане .

Тим не менш, існує форма FormsAuthentication . За даними Microsoft ,

ASP.NET також має підтримку автентифікації форм за допомогою FormsAuthenticationModule, яка, однак, може підтримувати лише програми, розміщені на ASP.NET і не мають підтримки претензій. Ось приблизний список порівняння функцій: Порівняння особливостей

Тож якщо ви все ще хочете використовувати FormsAuthentication, ознайомтеся з Поняттям автентифікації OWIN Forms в MVC 5 .

Тому Microsoft рекомендує вам використовувати ідентифікатор ASP.NET. Звичайно, не потрібно. Ви можете просто вибрати « Без автентифікації», і проект нічого для вас не реалізує. Тоді саме вам належить виконати потреби вашого членства / входу .


5
Ні ОП, ні ця відповідь не зазначає автентифікацію спеціальної форми. У своїх додатках я не хочу і не використовую вбудовані елементи управління членством та таблиці SQL Server, а натомість автентифікую користувача за допомогою мого коду та таблиці користувачів. Потім після аутентифікації я використовую FormsAuthentication для створення та налаштування файлу cookie. Я не використовую ідентичність ASP.NET, але сподіваюся, що він підтримує і цей сценарій.
Tony_Henrich

@Tony_Henrich, "автентифікуйте користувача за допомогою мого коду та таблиці користувачів. Потім, коли я засвідчую автентифікацію, я використовую FormsAuthentication для створення та налаштування файлу cookie". Саме так я і закінчую. Мені дуже не подобаються елементи управління членством у ASP.NET та його таблиці SQL Server. Для системи "Членство в ASP.NET" я знаю, що вона безумовно застаріла і її слід припинити використовувати (адже багато років тому насправді)
sean717

Хороший проект з відкритим кодом, який використовує автентифікацію MVC5 та власну автентифікацію форми: github.com/YodasMyDad/mvcforum
JoshYates1980
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.