Реализация безопасности на основе ролей в LDAP

Я работаю над ролевым реализация безопасности в LDAP и Java.В частности, у меня есть следующие объекты, которые мне нужно представить в LDAP:

  • Пользователи
  • Корпоративные группы пользователей - HR, Финансы и т. Д.
  • Разрешения - DOCUMENT_READ, DOCUMENT_MODIFY и т. Д.
  • Роли - ADMIN, GUEST и т. д.

Роли в основном представляют собой группы разрешений, и они могут быть назначены пользователю или группе пользователей.

Я думал представить их в LDAP следующим образом:

  • Пользователи - классы Person и uidObject с атрибутом userPassword.
  • Группы пользователей - класс организационной единицы, в котором находятся пользователи .
  • Роли - объектный класс groupOfNames.
  • Разрешения - не уверен в этом, возможно, также класс groupOfNames .

Идея состоит в том, чтобы иметь быстрый доступ пользователя или группы к списку ролей, которые есть у этого пользователя или группы. Я знаю, что могу поместить пользователей и группы в атрибуты «член» роли, но тогда мне придется сканировать все роли, чтобы найти, в каких из них указан этот пользователь. Есть ли способ иметь что-то вроде атрибута "member" в объекте Person?

В общем, знает ли кто-нибудь о хорошей реализации безопасности на основе ролей в LDAP? Мне не удалось найти хорошей документации или руководств по этой теме. В настоящее время я использую ApacheDS в качестве сервера LDAP, но я открыт для предложений.

7
задан user1031054 5 November 2011 в 12:44
поделиться