Пользовательский доступ к страницам, которые назначает администратор

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

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

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

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

1 ответ

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

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

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

Другие вопросы по тегам