2015-05-10 2 views
0

Я новичок в MVC и хочу, чтобы понять механизм аутентификации в MVCРоль авторизация в MVC4

У меня есть эти таблицы в SQL, таблица пользователей, роли и настольный UserRoles, который отображает столбец идентификатора пользователя в столбец идентификатора роли , Теперь, как только я добавлю атрибут Authorize (Roles = «Клиент»), я хочу, чтобы доступ предоставлялся только пользователям, имеющим клиентские права. Теперь, что я должен сделать, чтобы создать связь между этими двумя. Я ищу пошаговое объяснение или ссылку, которая указывает на то, что я делаю это точно, поскольку я нашел несколько статей, которые искал это и не смог найти подходящий.

Заранее спасибо.

ответ

0

Если вы выберете шаблон MVC из коробки, вам не нужно ничего делать, чтобы обеспечить соблюдение этого поведения. База данных будет создана для вас, как только вы запустите приложение с помощью нескольких таблиц (Пользователи, роли, сопоставление между пользователями и ролями, ...). Проверьте строку web.config для строки подключения.

Единственное, что вам нужно сделать, это заполнить таблицу ROLES, а затем сопоставить эти записи с атрибутом Authorize в коде. Так что если у вас есть роль под названием «Admin» в базе данных, вы можете защитить свои действия и контроллеры с помощью следующего кода:

[Authorize(Roles="Administrators")] 

Вы также могли бы принять его дальше, чтобы ограничить доступ пользователей, но я не считаю, что как наилучшая практика. Затем создайте пользователя в пользовательском интерфейсе, а затем сопоставьте его с ролью, указанной в БД. Войдите в систему как этот пользователь, и вы заметите, что у вас есть доступ к ограниченному действию/контроллеру.

Для получения дополнительной информации, лучшие статьи - это те, что от самой Microsoft, например this.

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