ASP.NET MVC 3 представляет собой вызов для веб-пользователя? - PullRequest
1 голос
/ 09 августа 2011

В дни ASP.NET Webforms у меня был модуль HTTP, который представил задачу 401, чтобы получить имя пользователя / пароль, пройти аутентификацию и двигаться дальше. Я сделал с базовой аутентификацией по SSL, чтобы быть совместимым во многих различных браузерах, а также использовать центральное хранилище базы данных для проверки учетных данных.

С последними битами MVC я ищу способ сделать то же самое. Какой правильный / современный метод для этого? Является ли Forms Auth единственным способом в эти дни? Мне действительно нужно представить знакомую «коробку входа» пользователям.

Спасибо.

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Является ли проверка подлинности с помощью форм единственным способом в наши дни?

Проверка подлинности с помощью форм - это всего лишь метод проверки подлинности.Вы также можете использовать встроенную аутентификацию Windows, базовую версию, дайджест, OpenID или какую-либо другую схему.Но независимо от того, какой тип аутентификации вы используете, в ASP.NET MVC вы украшаете свои контроллеры / действия (которые требуют аутентификации) атрибутом [Authorize].Или, если вам нужно больше контроля, вы можете написать собственный атрибут аутентификации, полученный из стандартного.

0 голосов
/ 09 августа 2011

Если вы все еще хотите использовать этот модуль, вы можете, однако, остерегаться того, что авторизация на основе URL в MVC затруднена из-за множества URL-адресов и изменений, которые затрудняют доступ к URL-адресу. URL-адреса RESTful могут часто меняться, и несколько URL-адресов (ок URI) могут отображаться в одно и то же местоположение. В MVC, как заметил Дарин, важно использовать [Authorize] для класса или методов контроллера. Идея в том, что независимо от того, какой URI использовался для доступа к текущему ресурсу, вы знаете, что права доступа будут правильными.

Когда атрибут обработан, членство в роли пользователя будет проверено и, если оно не будет перенаправлено на любой URL-адрес входа, который вы хотите (при условии, например, аутентификации форм), но ваш провайдер аутентификации может настроить «любое действие», если пользователь не не авторизован. В случае проверки подлинности Windows вам будет предложено диалоговое окно входа в систему, как это было бы сделано через вызов 401, поэтому я говорю, что вы все еще можете использовать свой метод.

Проверка подлинности Windows в качестве примера выполняется здесь: Проверка подлинности Windows в MVC

...