2011-09-29 56 views
0

它甚至可以從ActionFilterAttribute返回視圖嗎? 現在我只是讓它拋出一個錯誤,並在基地控制器的OnException重新路由到一個錯誤頁面。如果在操作中存在權限問題,但是在操作的屬性中出現權限問題,會顯示我的NoAccess視圖。MVC如何在ActionFilterAttribute中像ActionResult一樣返回視圖?

public sealed class UserHasPermissionAttribute : ActionFilterAttribute 
    { 
     public override void OnActionExecuting(ActionExecutingContext filterContext) 
     { 
if(HasPermission == false){ 

//What are my options here a view? 

} 
} 
} 

看過幾個網站的博客,但都沒有解釋清楚,或者我在找什麼。

回答

0

通過你正在使用你的動作過濾器的聲音,它聽起來像也許你應該使用AuthorizeAttribute

您也可以試試在OnActionExecuting方法本身只是重定向,使用類似:

filterContext.HttpContext.Response.Redirect(errorUrl);