Atributo de filtro de configuração para injeção de dependência para aceitar parâmetros no construtor

Estou seguindo uma configuração de atributo de filtro ninject nestepágin.

Para eles, eles têm:

.WithConstructorArgumentFromControllerAttribute<LogAttribute>(
      "logLevel", attribute => attribute.LogLevel);

O segundo parâmetro está esperando umFunc<LogAttribute, object> callback. A lista de parâmetros real é configurada da seguinte maneira:

Log(LogLevel = Level.Debug)

Mas o meu atributo de filtro está configurado da seguinte maneira:

public class AuthAttribute : FilterAttribute { }

public class AuthFilter : IAuthorizationFilter
{

    private readonly IUserService userService;
    private string[] roles;

    //Stuck on the constructor also. How do I accept params?
    public AuthFilter(IUserService userService, params string[] roles)
    {
        this.userService = userService;
        this.roles = roles;
    }
    public void OnAuthorization(AuthorizationContext filterContext)
    {
        throw new NotImplementedException();
    }
}

De alguma forma isso está errado. Porque eu quero que meu filtro tenha a seguinte aparência:

[Auth("Admin", "Contrib")]

My bindings:

 kernel.BindFilter<AuthFilter>(FilterScope.Controller, 0)
            .WhenControllerHas<AuthAttribute>()
            .WithConstructorArgumentFromControllerAttribute<AuthAttribute>("roles", /*Stuck here*/)

questionAnswers(1)

yourAnswerToTheQuestion