I am castle Windsor e funziona perfettamente per i costruttori di controller nel passaggio nel repository in uso.Come passare il repository a un attributo autorizza in ASP.NET MVC
private IStoryRepository Repository;
public StoryController(IStoryRepository Repository)
{
this.Repository = Repository;
}
ora ho un'azione che si trova nella zona di admin per visualizzare il menu di amministrazione principale. Ho usato un attributo di autorizzazione personalizzato che sarà solo verificare che l'utente connesso sia un amministratore (solo una bandiera IsAdmin nella tabella utenti)
[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);
}
Come posso ottenere Castello di passare il repository nei attributo costruttore di simile fa per un costruttore di controller?