Извините за длинный вопрос, пытаюсь донести до всех свои мысли!
Я потратил значительное количество времени на изучение того, как обновить нашу существующую схему управления идентификацией и доступом до более современной платформы, которая решает ряд бизнес-требований и требований соответствия, которые у нас есть, особенно с точки зрения ISO27001.
У меня есть две основные цели: 1) Иметь возможность сообщать о том, какие бизнес-операции/задачи может выполнять пользователь? 2) Иметь возможность отслеживать в режиме реального времени или через исторические отчеты, что пользователь делает/сделал?
В настоящее время мы используем сочетание настраиваемой аутентификации и авторизации (используя серверную часть SQL для обоих) и службы домена AD для аутентификации и требования членства/роли в группе AD для авторизации.
Я предлагаю использовать доменные службы AD для аутентификации во всем нашем программном обеспечении, но с точки зрения утверждений с ADFS 2.0 в качестве нашего сервера STS. Затем мы можем начать использовать утверждения в наших приложениях, и для тех, кто использует требования ролей, они по-прежнему будут работать.
Я очень доволен всем вышеперечисленным, однако мы хотим использовать более детализированную схему управления правами/авторизации, и поэтому я хочу использовать ClaimsAuthorizationManager для точки принятия решения и принудительного исполнения.
Проблема в том, что WIF не реализует конкретную версию, разработчик полностью предоставлен своему собственному выбору без каких-либо указаний. Я не могу найти ни одного примера чего-то близкого к чему-то пригодному для бизнеса.
Поэтому я ищу любые советы о том, как разработать схему авторизации корпоративного класса, которая работает аналогично AzMan или NetSqlAzMan. Я предлагаю общий простой класс ClaimsAuthorizationManager, который может использовать каждое приложение. Этот класс вызывает общую службу WCF, которая, в свою очередь, использует серверную часть SQL для хранения бизнес-операций/задач и прав, которые пользователи имеют для них. Пользовательские объекты будут синхронизированы с AD, чтобы AD обеспечивала аутентификацию, утверждения, а моя пользовательская система предоставляла правила авторизации. Централизованность и уникальность этого сервиса помогают в достижении моей первой цели.
Эта система будет регистрировать каждый запрос, что поможет со второй из моих первоначальных целей.
Любые советы, примеры или помощь высоко ценятся.