2014-07-13 41 views
0

我使用MVC 4客戶ActionFilterAttribute OnActionExecuting覆蓋從不叫

我的代碼,從System.Web.Mvc.ActionFilterAttribute

public class AuthorizedAttribute : ActionFilterAttribute 
{  
    public AccessLevel Threshold { get; set; } 

    public AuthorizedAttribute() 
    { 
     Threshold = AccessLevel.Anonymous; 
    } 

    public AuthorizedAttribute(AccessLevel threshold) 
    { 
     Threshold = threshold; 
    } 

    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     //some actions 
     base.OnActionExecuting(filterContext); 
    } 
} 

繼承此客戶屬性而我在我的UserController

用它的行動 Manage
public class UserController : Controller 
{ 
    [HttpGet] 
    [Authorized(AccessLevel.Administrator)] 
    public ViewResult Manage() 
    { 
     return View(); 
    } 
} 

我在我的屬性構造器中放置了一個斷點,在覆蓋的方法中OnActionExecuting和我的UserController,當我通過我的瀏覽器在調試模式下調用動作url時,只有我的控制器斷點正在觸發,並且即使我沒有通過身份驗證,我也登錄到頁面上。 我在做什麼錯了?

提前致謝。

回答

0

看來,我並不完全在MVC 4中,但幾乎在MVC 5中。我只需要在我的web.config上做一些更新來解決我的問題。 我發現我的拯救here

0

你的代碼應該可以工作。可能你有路由或其他問題

+0

沒有我的路由是好的,我在我的控制器方法斷點射擊,但不包括在我的屬性.. – MrGrabazu

+0

在這種情況下,我可以計算出來只有當我承擔這個功能來看看在項目上。 –

+0

你需要知道哪些信息是否正確? – MrGrabazu