由於某種原因,只調用方法OnAuthorization
,但不調用AuthorizeCore
。
這就是我把它叫做:從AuthorizeAttribute覆蓋AuthorizeCore未被調用
[AuthorizeWithRoles(Roles = "Affiliate")]
public string TestOnlyAffiliate()
{
return "ok";
}
這是實際的屬性。
public class AuthorizeWithRolesAttribute : AuthorizeAttribute
{
public string Roles { get; set; }
//
//AuthorizeCore - NOT INVOKING!
//
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
return true;
}
public void OnAuthorization(AuthorizationContext filterContext)
{
}
}
-1你不應該重寫'OnAuthorization',你正在引入一個安全問題。看到我的答案。 – Stijn