У меня есть класс настраиваемых атрибутов, производный от AuthorizationAttribute, который обеспечивает настраиваемую безопасность действий контроллера. Метод OnAuthorizationCore зависит от различных других компонентов (например, DAL), чтобы определить, может ли пользователь вызывать действие.
Я использую Autofac для внедрения зависимостей. ExtensibleActionInvoker утверждает, что может выполнять внедрение свойств в фильтры действий. Установка свойств атрибута во время выполнения (что кажется плохой идеей) будет работать в простом модульном тесте, но на загруженном многопоточном веб-сервере это обязательно пойдет не так, и поэтому эта идея кажется анти-шаблоном. Отсюда этот вопрос:
Если мой AuthorizationAttribute зависит от других компонентов для правильной работы, какой правильный шаблон [архитектуры] для достижения этого?
то есть AuthorizationAttribute зависит от IUserRepository... как следует разрешить эту связь?