У меня есть веб-приложение ASP.NET MVC4 со столами пользователей, ролей и rolePrivilegesASP.NET MVC ролей привилегиях основе для действий контроллера
Идентификатор_пользователя Имя пользователя Пароль] значения Идентификатор роли: 1 user1 12345 3, 2 user2 12345 1, 3 user3 12345 2
[Идентификатор роль, RoleName] значение: 1 администратор, 2 клиента, 3 гостя, 4 ...
[Идентификатор роль, Action, GrantAcce SS] значения: 1/Главная/Индекс Y 1/Главная/Настройки Y 1/Главная/Панель Y 2/Главная/Индекс Y 2/Главная/Настройки N 2/Главная/Панель Y 3/Главная/Индекс Y 3/Главная/Настройки N 3/Главная/Dashboard N
Я хотел бы, чтобы достичь следующего в ASP.NET MVC форм аутентификации:
действию контроллера должно быть динамически предоставлено отказано в доступе к роль, и если пользователь пытается получить доступ к действию контроллера, которому пользователю не предоставлен доступ, приложение должно выписать.
1) Я хочу знать, что лучший способ для достижения этой цели, так как жесткого кодирования RoleName как авторизовать (Roles = «Admin»)] не будет работать
2) У меня есть конкретные пользовательские настройки, которые должны были бы быть инициализированный при входе пользователя в систему, в формах asp.net это было сохранено в переменных сеанса, может ли это быть сделано с использованием TempData в asp.net MVC, это лучшая практика?
Означает ли это, что группы будут предварительно определены в базе данных? – user2537609
Так что просто проверьте, указано ли действие для пользователя, используя string action = filterContext.RouteData.GetRequiredString («действие»); – user2537609
Да, вы должны предварительно определить группы в базе данных. – nerdybeardo