С архитектурной точки зрения у вас множество решений. Вот решение, которое хранит все ваши данные в каталоге.
В вашем Справочнике вы можете закодировать свои «Роли» с объектами из класса со значением «группа», например groupOfNames
или group
(в зависимости от вашего Справочника). Отличительные имена пользователей (DN) будут закодированы в многозначном атрибуте этих объектов (обычно member
). DN объекта "Роль", в свою очередь, может быть закодировано в многозначном атрибуте объекта пользователя (Пример: memberof
)
Если ваш Справочник поддерживает ссылочную целостность, он может действовать как системный Справочник. Тогда атрибуты member
и memberOf
могут управляться самим Справочником. Это означает, что если вы перемещаете пользователя из организационной единицы в другую, Справочник обновляет атрибут member
объектов «Роль», которым принадлежит пользователь.
В другом случае (без ссылочной целостности) ваше приложение должно управлять целостностью атрибута.
Это коротко, но я надеюсь, что это поможет.
Отредактировано
Прежде всего, я рекомендую вам Apache Directory Studio, который (для меня) является одним из лучших браузеров LDAP. . Этот инструмент позволит вам видеть свой каталог и более дружелюбно изучать LDAP. Используя этот инструмент, я покажу вам, как ADAM (режим приложения Active Directory) в бесплатном каталоге Microsoft кодирует «Роли».
На первом изображении вы можете видеть Админа Адама как члена группы администраторов:
На этом втором изображении вы можете увидеть присутствие группы в атрибуте memberof пользователя adminAdam.
ADAM поддерживает ссылочную целостность.
person
JPBlanc
schedule
06.06.2011