Пользовательский доступ к страницам, которые назначает администратор
Я работаю над приложением ASP.Net MVC, где администратор может назначить доступ отдельному пользователю на разных страницах.
Я применил роли пользователей, такие как Admin
, supervisor
а также End-user
а также [authorize]
приписывать. он работает нормально, но теперь я хочу, чтобы пользователь получил доступ к таким страницам, которые назначает ему администратор.
В настоящее время пытаюсь override
OnAuthorize()
метод, чтобы я мог получить имя действия и проверить (из БД), если пользователь имеет 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