Атрибут [Authorize] для контроллеров ASP.NET MVC предназначен только для поставщиков членства? - PullRequest
6 голосов
/ 11 июня 2009

Атрибут [Authorize], используемый с контроллерами ASP.NET MVC, работает только с сайтами, в которых реализован MembershipProvider?

Ответы [ 3 ]

8 голосов
/ 11 июня 2009

Короткий ответ - нет. Он просто проверяет, есть ли IPrincipal, как это сделать, зависит от вас.

У меня есть своя логика входа в систему, которую я использую вместо провайдера членства. После аутентификации пользователя я просто вызываю метод FormsAuthentication.SetAuthCookie. После этого вы можете использовать атрибут [Authenticate].

1 голос
/ 11 июня 2009

Атрибут [Authorize] является фильтром действий. Он собирается захватить IPrincipal и проверить, аутентифицирован ли пользователь или если вы указываете роли и / или пользователей в атрибуте, он будет сопоставлен с ними.

Существует много способов проверки подлинности веб-запроса. Все от Open ID до аутентификации Windows. Проверьте этот вопрос для примера OpenID и дополнительных ссылок для реализации аутентификации таким образом: StackOverflow Вопрос 961468

0 голосов
/ 11 июня 2009

Я уверен, что да. Я полагаю, вы могли бы сыграть свою роль и реализовать аналогичный способ аутентификации / авторизации.

...