Asp.net mvc 2 ASP.NET MVC 2如何检查用户';在执行操作之前,是否有权限?

Asp.net mvc 2 ASP.NET MVC 2如何检查用户';在执行操作之前,是否有权限?,asp.net-mvc-2,Asp.net Mvc 2,我有一个控制器,要调用它的所有动作,用户必须拥有这样做的特权。问题是在执行操作之前如何检查如果用户没有权限,我希望呈现一个带有错误消息的视图。我尝试使用重写的OnActionExecuting方法,但无法从该方法返回视图 我尝试使用重写的OnActionExecuting方法,但无法从该方法返回视图 事实上,你可以: public override void OnActionExecuting(ActionExecutingContext filterContext) { bool us

我有一个控制器,要调用它的所有动作,用户必须拥有这样做的特权。问题是在执行操作之前如何检查如果用户没有权限,我希望呈现一个带有错误消息的视图。我尝试使用重写的
OnActionExecuting
方法,但无法从该方法返回视图

我尝试使用重写的OnActionExecuting方法,但无法从该方法返回视图

事实上,你可以:

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);
    }
}

在类控制器中,此方法受保护。

它可以工作,谢谢!:)我还想知道如何创建一个“base”方法,该方法将呈现带有错误消息的视图(该消息将用作参数)。有什么想法吗?