override OnActionExecuting для запроса на тестирование: авторизован ли пользователь для действия вызова или нет? - PullRequest
3 голосов
/ 04 июля 2011

Я хотел бы переопределить метод OnActionExecuting контроллера, и я проверю действие, и пользователь контроллера имеет право или нет.

    public class BrowseController : Controller
    {
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //TODO: ask service user has right this action.
            //string actName = filterContext.ActionDescriptor.ActionName;
            //string cntName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName
            //foo(actName, cntName, userInfo) if return false go NoAccess page!
            //filterContext.Result = new RedirectResult("_NoAccessRight");

            base.OnActionExecuting(filterContext);
     }
   }

Я полагаю, что после проверки прав пользователя

filterContext.Result = new RedirectResult("_NoAccessRight");

Но я не смог получить страницу "_NoAccessRight", а также ~ / shared / _NoAccessRight "

Не могли бы вы дать идею? Спасибо.

1 Ответ

4 голосов
/ 04 июля 2011

Чтобы помочь вам на потом

public class BrowseController : Controller
{
    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        filterContext.Result = new RedirectToAction("NoAccessRight");
   }

   public ActionResult NoAccessRight() 
   {
       return View("_NoAccessRight");
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...