1
喜對我的ASP.NET MVC的網站命名爲MyClassAuthorizationAttribute過濾器:一個FilterConfig - 不包括AJAX調用OnAuthorization
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new MyClassAuthorizationAttribute());
}
}
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class MyClassAuthorizationAttribute : Attribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.User.Identity.IsAuthenticated &&
filterContext.ActionDescriptor.ActionName != "LogOut")
{
//Code Here
}
}
}
正如你可以看到每次執行控制器此代碼的運行。我擔心的是我有一些只能在AJAX調用中使用的控制器動作,甚至那些偏離過程的人也會引發這個過濾器,但是我不希望發生這種情況。
有沒有辦法避免或做任何過濾的OnAuthorization不捕獲這些AJAX調用?
我試圖避免手動創建一個Ajax動作列表來檢查我的OnAuthorization方法。
非常感謝
這正是我需要的!非常感謝,太快了!我會在10分鐘內將其標記爲已接受。 –