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