ASP.NET MVC 2 Как проверить права пользователя перед выполнением действия? - PullRequest
1 голос
/ 20 декабря 2010

У меня есть контроллер, и для вызова всех его действий у пользователя должны быть права доступа для этого. Вопрос в том, как проверить, что перед выполнением действия? Если у пользователя нет прав, я хочу отобразить представление с сообщением об ошибке. Я попытался использовать переопределенный метод OnActionExecuting, но не могу вернуть представление из этого метода

Ответы [ 2 ]

3 голосов
/ 20 декабря 2010

Я пытался использовать переопределенный метод OnActionExecuting, но я не могу вернуть View из этого метода

На самом деле вы можете:

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    bool userHasPermissions = CheckUserPermissionsFromSomewhere(filterContext);
    if (!userHasPermissions)
    {
        filterContext.Result = new ViewResult
        {
            // you can also specify master page and view model
            ViewName = "Forbidden"
        };
    }
    else
    {
        base.OnActionExecuting(filterContext);
    }
}
0 голосов
/ 01 июля 2011

В классе Controller этот метод защищен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...