2014-02-03 4 views
0

Как заказать атрибут [Авторизовать] для подключения к моей собственной базе данных Roles, чтобы проверить, есть ли там роли в этой роли?Подключить [Авторизовать] с настраиваемой базой данных

Что я знаю:

  • Я должен создать класс, который наследуется от AuthorizeAttribute.

То, что я не знаю:

  • Что писать в мой пользовательский класс в том, что [CustomAuthorize(Roles: "Administrator")] проверяет, является ли текущий пользователь имеет эту роль.

Пожалуйста, мне очень нужна помощь в этом.

ответ

1

Переопределите метод AuthorizeCore() и верните true или false.

+0

Так что мне просто нужно проверить запись в базе данных и вернуть 'true' или' false'? И как я делаю перенаправление на действие по умолчанию, действие «Вход», когда аутентификация завершается с ошибкой? –

+0

@Federico: базовый класс делает это для вас. https://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Mvc/AuthorizeAttribute.cs – SLaks

+0

И как базовый класс знает, где получить текущий 'User'? Это в 'httpContext'? –

1

Просто создайте настраиваемый RoleProvider для работы с идентификатором ASP.NET.

+0

Я скорее создаю свой собственный «членский провайдер», но я не знаю, как это сделать. –

+0

MS получил сообщение: http://msdn.microsoft.com/en-us/library/8fw7xh74.aspx – gretro

+0

Эта ссылка предназначена для настройки «Поставщика роли», ссылки на создание пользовательского «User Provider»? –

 Смежные вопросы

  • Нет связанных вопросов^_^