Есть ли уровень абстракции ACL в .net? Я видел некоторые документы с «лучшими практиками», но без хорошей базовой реализации. А как насчет System.Security.AccessControl? Это хорошая отправная точка?
ACL должны работать с Ролями, хранящимися в БД, а также с Ролями системой и для определений объектов в памяти, а также объектов или файлов БД. Поэтому он должен быть общим и / или легко расширяемым.
Должно ли это полагаться на IPrincipal, IIdentity из .net framework?
В Zend есть что-то похожее в их Framework для PHP, и я ищу такие вещи для C # вместо того, чтобы портировать это (если уже есть стандартное решение или реализация с наилучшей практикой).
@ Ладислав:
Он не предназначен для использования только в веб-сервисах, толстых клиентах или автономных приложениях. Из-за этого я ищу уровень абстракции, который может быть расширен адаптерами для специфического бэкэнда / платформы. Вы правы, что я ищу что-то вроде уровня абстракции управления доступом на основе ролей для разных типов объектов и правильных определений. Это не должно зависеть от ACL, установленных для папок в файловых системах. Файловая система должна быть специальным адаптером, используемым реализацией ACL. Для меня ACL сам по себе является концепцией и не имеет ничего общего с файловыми системами. Файловые системы ИСПОЛЬЗУЕТ реализацию концепции ACL (даже если она в основном известна в этой области). Жесткая зависимость от Win32-api не нужна. Вот почему я прошу что-то общее и абстрактное (интерфейс), который обычно (и широко) используется. Знаете ли вы реализацию в Zend Framework (я знаю, что это PHP, но концепция работает для любого приложения, не только веб-)? Он абстрагирован и может использоваться для любого объекта в коде