Mvc4 プロジェクトでカスタム AuthorizeAttribute を使用しています。
public sealed class ClaimsAuthorizeAttribute : AuthorizeAttribute
{
public ClaimsAuthorizeAttribute(){}
protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext)
{
// Security stuff here...
return base.AuthorizeCore(httpContext);
}
}
次に、コントローラー アクションを次の属性で装飾します。
[ClaimsAuthorize(Roles = "Developers")]
public ActionResult Authorize()
{
return View();
}
属性クラスを MVC プロジェクトに入れると、すべてが期待どおりに機能します。
ただし、mvc プロジェクトによって参照される外部アセンブリに属性クラスを配置しても、何も起こりません。名前空間はどちらの場合も同じです。私の外部アセンブリ プロジェクトの参照には、System.Web と System.Web.Mvc が含まれています。
何が欠けているのかわかりません。誰かアイデアはありますか?