Я задаюсь вопросом, существует ли способ проверить пользовательские полномочия по ACL в c#. Я создаю большую систему, которая собирается использовать активный каталог для аутентификации, и я хотел бы использовать такую большую инфраструктуру безопасности Windows, как я могу. После пребывания в течение последних часов, просматривая Систему. Безопасность. AccessControl я не уверен, что он обеспечивает простой способ проверить пользовательский маркер по его списку ACL. Похоже, что к этому намного больше приспосабливают управление дескрипторами безопасности Windows, хотя существует достаточно абстрактных классов для реализации пользовательской системы.
У меня есть рассмотрение API Authz, которые кажутся намного более гибкому и имеют функцию (AuthzAccessCheck), который позволяет контексту быть проверенным по дескриптору безопасности. Я не отклонен вообще к обертыванию их, если я должен.
У кого-либо еще была подобная проблема и раз так каковы были за и против, поскольку Вы видели их?
Как хранится список ACL и как к нему осуществляется доступ? Можно ли преобразовать записи ACL в объект PrincipalPermission ? В таком случае вы можете использовать метод Demand () для проверки прав доступа, он генерирует исключение SecurityException, если у пользователей нет доступа.