0

Я работаю над приложением ASP.Net MVC, где администратор может назначать доступ к отдельному пользователю на разных страницах.Доступ пользователя к страницам, которые назначает администратор

Я применил роли пользователей, такие как Admin, supervisor и End-user и [authorize] атрибут. он работает нормально, но теперь Я хочу, чтобы пользователь получал доступ к таким страницам, которые admin присваивает ему.

В настоящее время пытается overrideOnAuthorize() метод, так что я могу получить имя действия и проверьте (из БД), если пользователь имеет access rights или redirect его на другую страницу (Заявив: «У вас нет разрешения»)

Примечание: Я сохранил все права на формы, такие как активные, добавленные, обновленные, удаленные и т. Д. В БД.

ответ

1

Вам необходимо расширить встроенный AuthorizationAttribute, переопределить его AuthorizeCore и реализовать свою логику там. Как это:

public class UserBasedCustomAuthorizationAttribute : AuthorizeAttribute 
{ 
    protected override bool AuthorizeCore(HttpContextBase httpContext) 
    { 
     ... do your checking here 

Вот реализация Microsoft, которая заботится о Roles: AuthorizeAttribute.cs

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