1
我有一个控制器,并调用它的所有行动,用户必须有privilages这样做。问题是如何在执行操作之前检查该问题? 如果用户没有权限,我想渲染带有错误信息的视图。我试图用被覆盖的OnActionExecuting
的方法,但我不能从方法ASP.NET MVC 2如何在执行操作之前检查用户的权限?
我有一个控制器,并调用它的所有行动,用户必须有privilages这样做。问题是如何在执行操作之前检查该问题? 如果用户没有权限,我想渲染带有错误信息的视图。我试图用被覆盖的OnActionExecuting
的方法,但我不能从方法ASP.NET MVC 2如何在执行操作之前检查用户的权限?
我试图用被覆盖的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);
}
}
在类Controller中,此方法受保护。
它的工作原理,谢谢! :)我也想知道如何创建一个'base'方法,它将渲染带有错误消息的视图(该消息将被用作参数)。有任何想法吗 ? – Tony 2010-12-20 11:19:26