我是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);
}
我怎樣才能城堡到存儲庫傳遞到屬性構造喜歡它爲控制器構造函數做?