2014-09-02 2 views
-1

Я использую ASP.NET Idenetity в своем проекте.Роль пользователя Asp.net в таблице пользователей Users.IsAdmin

Таблица «Мои пользователи» содержит столбец «IsAdmin», чтобы определить, является ли пользователь администратором или нет.

В коде ниже

[Authorize(Roles = "Admin")] 
    public ActionResult Index() 
    { 
    } 

Я хочу, чтобы разрешить пользователю как администратор из таблицы Users.IsAdmin = True. Не из таблицы UserRoles.

Просьба предложить, как это сделать?

ответ

1

Я вижу 3 варианта:

  1. Реализовать IUserRoleStore для ASP.net Идентичность - это позволяет переопределить метод IsInRole

  2. При проверке подлинности чека, если IsAdmin = true и добавить администратора роль этого пользователя (так вы можете использовать атрибут Authorize по умолчанию).

  3. Напишите специальный атрибут авторизации, который будет содержать всю необходимую логику авторизации.