我想重写控制器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”

你能给个主意吗?谢谢。

最佳答案

为了帮助您以后

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

   public ActionResult NoAccessRight()
   {
       return View("_NoAccessRight");
   }
}

关于asp.net-mvc-3 - 是否覆盖OnActionExecuting以测试请求,用户是否有权进行调用操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6565617/

10-10 22:11