Атрибут Ninject Binding для фильтрации с аргументами конструктора

Я прочитал столько ответов, сколько мог для этого, но они, кажется, не соответствуют одной детали.

Проблема в том, что при привязке фильтра действий (с сервисом, внедренным контроллером) к соответствующему атрибуту, я не смог выяснить, как передать значения параметра / свойства из атрибута в его связанный фильтр. Ниже приведен код, а под ним мой предполагаемый поддельный код:

Фильтр и атрибут

public class AuthorizationFilter : IAuthorizationFilter
{
    private readonly IAuthorizationService _authorizationService;
    private readonly UserRoles _requiredRoles;   // Enum

    public AuthorizationFilter(IAuthorizationService authorizationService, UserRoles requiredRoles)
    {
        _authorizationService = authorizationService;
        _requiredRoles = requiredRoles;
    }

    public void OnAuthorization(AuthorizationContext filterContext)
    {
        if (filterContext.HttpContext.Session == null)
            HandleUnauthorizedRequest(filterContext);
        else {
            var authorized = _authorizationService.IsUserInRole((UserSessionInfoViewModel) filterContext.HttpContext.Session["user"], _requiredRoles);
            if (!authorized)
                HandleUnauthorizedRequest(filterContext);
            // else TODO: deal with cache... 
        }
    }
}

public class RequireRolesAttribute : FilterAttribute
{
    public readonly UserRoles RequiredRoles;

    public RequireRolesAttribute(UserRoles requiredRoles)
    {
        RequiredRoles = requiredRoles;
    }        
}

Привязки фильтров / атрибутов

kernel.BindFilter<AuthorizationFilter>(FilterScope.Controller, 0)
      .WhenControllerHas<RequireRolesAttribute>();
kernel.BindFilter<AuthorizationFilter>(FilterScope.Action, 0)
      .WhenActionMethodHas<RequireRolesAttribute>();

Это должно гарантировать, что любой контроллер / действие, украшенное [RolesRequired], привязано к фильтру. Все идет нормально. Теперь я хочу объявить через атрибут роли (так же, как стандартный AuthorizeAttribute) и передать эти значения в фильтр, который фактически выполняет авторизацию.

Предполагаемый / поддельный код:

[RequireRoles(UserRoles.Author)]
public ActionResult Index()
{
    // blah
}

В частности,

Что нужно, чтобы сообщить AuthorizationFilter о ролях? Может ли фильтр / объект доступ к аргументам, переданным конструктору атрибута? Может ли фильтр / объект извлекать их из открытого свойства атрибутов?

Для справки, эти статьи очень помогли, но не отвечайте на это одно:

Внедрение зависимостей с атрибутом Ninject и Filter для asp.net mvc

Пользовательская авторизация MVC 3 и Ninject IoC

B Z, Remo Gloor, другие ... как я могу это сделать?

Ответы на вопрос(2)

Ваш ответ на вопрос