Я хотел бы реализовать авторизацию на основе ролей в своем веб-приложении, которое я создаю. То, как я представлял себе, чтобы сделать это, чтобы создать 3 таблицы в моей БД, как следующее:Реализация авторизации на основе ролей с использованием .NET MVC 5
1. Roles
2. UserRoles (many to many table)
3. Users
После этого каждый пользователь будет иметь роль, отведенную ему. Теперь ... Мой вопрос: как разрешить или запретить доступ к определенным представлениям/контроллерам внутри моего приложения .NET MVC. Я наткнулся на это:
[Authorize(Roles = "HrAdmin, CanEnterPayroll")]
[HttpPost]
public ActionResult EnterPayroll(string id)
{
// . . . Enter some payroll . . .
}
Свойства Авторизоваться кажется, ограничивают конкретные контроллеры/действия для конкретных ролей ... Но что, если я читаю роли пользователей из таблицы UserRoles, как в моем случае ?? Как мое приложение будет знать, какую роль играет пользователь в системе?
Может ли кто-нибудь помочь мне с этим?
Вы проверили [Идентификация ASP.NET] (https://www.asp.net/identity)? – SeM
Вам нужно добавить претензии с вашими ролями в ваш метод 'Login()'. – SeM
Вышеупомянутое уже реализовано в структуре Identity, встроенной в MVC5. Вам не нужно беспокоиться о создании этих таблиц самостоятельно, просто измените строку подключения по умолчанию и укажите ее на сервере. – uk2k05