我在我的 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。
我看不到缺少什么。有人知道吗?