我是Windsor城堡,它对传递正在使用的存储库的控制器构造函数非常有用。如何将存储库传递给ASP.NET MVC中的authorize属性
private IStoryRepository Repository;
public StoryController(IStoryRepository Repository)
{
this.Repository = Repository;
}
现在我有一个操作是在管理区域显示主管理菜单。我已经使用了自定义的授权属性,这将只是检查登录的用户是管理员(只是在用户表中的isAdmin标志)
[AdminAuthorize]
public ActionResult Menu()
private IStoryRepository Repository;
/// <summary>
/// Initializes a new instance of the <see cref="AdminAuthorizeAttribute"/> class.
/// </summary>
public AdminAuthorizeAttribute(IStoryRepository Repository)
{
this.Repository = Repository;
}
/// <summary>
/// Checks if the user is authorised
/// </summary>
/// <param name="httpContext">The HTTP context.</param>
/// <returns>
/// <c>true</c> if authorized; otherwise, <c>false</c>.
/// </returns>
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
return this.Repository.UserIsAdmin(httpContext.User.Identity.Name);
}
我怎样才能城堡到存储库传递到属性构造喜欢它为控制器构造函数做?