Я пытаюсь оценить, следует ли использовать классическую авторизацию на основе принципала или авторизацию IdentityModel. Кажется, что Microsoft рекомендует последние в эти дни, но я не видел достаточно с точки зрения зрелости или поддержки для этого. В частности, мне очень нравится возможность установить PrincipalPermissionAttribute
и позволить инфраструктуре автоматически позаботиться о предотвращении несанкционированного создания экземпляров классов и вызовов методов.
Я уже использую ServiceAuthorizationManager
и могу выполнить оценку там ... но как насчет сценариев, отличных от WCF? А как насчет предотвращения создания экземпляров определенных классов и предотвращения вызовов методов внутри операции WCF, а не перед ее выполнением?
Я также уже использую механизм IoC и обдумывал использование перехватчиков и специального активатора, который выполняет оценку на основе утверждений относительно гипотетического RequiresClaimAttribute
для класса или метода ... но я не очень люблю такой подход потому что для любых объектов, которым требуется поддержка авторизации, требуется использовать контейнер IoC для разрешения и построения ...
Итак, я предполагаю, что мой вопрос ... действительно ли Microsoft Windows Identity Foundation (она же платформа IdentityModel) действительно достаточно зрелая, чтобы использовать ее на данном этапе? Есть ли способы выполнить то, что я описываю, с помощью IdentityModel?