Доступен ли уровень абстракции ACL в .net? Я видел некоторые документы с "лучшими практиками", но не нашел хорошей базовой реализации. Как насчет System.Security.AccessControl? Это хорошая отправная точка?
ACL должны работать с ролями, хранящимися в БД, а также с ролями системы и для определений объектов в памяти, а также объектов или файлов БД. Поэтому он должен быть универсальным и/или легко расширяемым.
Должно ли это полагаться на IPrincipal, IIdentity из .net framework?
У Zend есть что-то похожее в их Framework для PHP, и я ищу такие вещи для C # вместо того, чтобы портировать это (если уже есть стандартное решение или реализация передовой практики).
@ладислав:
Он не предназначен для использования только в веб-сервисах, толстых клиентах или автономных приложениях. Из-за этого я ищу уровень абстракции, который можно расширить с помощью адаптеров для определенного бэкэнда/платформы. Вы правы, я ищу что-то вроде уровня абстракции управления доступом на основе ролей для различных типов объектов и правильных определений. Это не должно зависеть от ACL, которые вы установили для папок в файловых системах. Файловая система должна быть специальным адаптером, используемым реализацией ACL. Для меня сам ACL является концепцией и не имеет ничего общего с файловыми системами. Файловые системы ИСПОЛЬЗУЮТ реализацию концепции ACL (даже если она наиболее известна в этой области). Жесткая зависимость от Win32-api нежелательна. Вот почему я прошу что-то общее и абстрактное (интерфейс), которое обычно (и широко) используется. Знаете ли вы реализацию в среде Zend (я знаю, что это PHP, но эта концепция работает для любого приложения, а не только для веб-приложений)? Он абстрагирован и может использоваться для любого объекта в коде.
System.Security.AccessControl
? - person David Heffernan   schedule 28.07.2011IPrincipal
иIIdentity
— это два основных интерфейса для выполнения любой аутентификации/авторизации в .NET. Объедините их сPrincipalPermission
+PrincipalPermissionAttribute
, и вы можете построить все, что захотите, но, возможно, есть готовые решения (я не знаю их, кроме тех, о которых я уже упоминал). - person Ladislav Mrnka   schedule 29.07.2011