Уровень абстракции списка управления доступом (ACL) в .net

Есть ли в .net уровень абстракции ACL? Я видел несколько документов "передовой практики", но не нашел хорошей базовой реализации. А что насчет System.Security.AccessControl? Это хорошая отправная точка?

ACL должны работать с ролями, хранящимися в базе данных, а также с ролями системы и с определениями объектов в памяти, а также с объектами или файлами базы данных. Так что он должен быть универсальным и / или легко расширяемым.

Следует ли полагаться на IPrincipal, IIdentity из инфраструктуры .net?

Zend имеет нечто подобное в своей Framework для PHP, и я ищу такие вещи для C # вместо его переноса (если уже существует стандартное решение или реализация передового опыта).

@ladislav:

Он не предназначен для использования только в веб-сервисах, толстых клиентах или автономных приложениях. Из-за этого я ищу уровень абстракции, который может быть расширен адаптерами для конкретной серверной части / платформы. Вы правы, я ищу что-то вроде уровня абстракции управления доступом на основе ролей для различных типов объектов и правильных определений. Это не должно полагаться на списки ACL, которые вы установили для папок в файловых системах. Файловая система должна быть специальным адаптером, используемым реализацией ACL. Для меня ACL - это концепция, не имеющая ничего общего с файловыми системами. Файловые системы ИСПОЛЬЗУЮТ реализацию концепции ACL (даже если она наиболее известна в этой области). Жесткая зависимость от Win32-api не нужна. Вот почему я прошу что-то общее и абстрактное (интерфейс), которое обычно (и широко) используется. Знаете ли вы, как реализуется фреймворк zend (я знаю, что это PHP, но эта концепция работает для любого приложения, а не только для Интернета)? Он абстрактен и может использоваться для любого объекта в коде

6
задан Beachwalker 28 July 2011 в 21:41
поделиться