Форум проекта Pro-LDAP.ru

Общие вопросы по LDAP => Общий раздел => Тема начата: manik207 от 19 Апрель 2017, 17:02:15

Название: MemberOf - Как указать членство пользователей в записях самих пользователей?
Отправлено: manik207 от 19 Апрель 2017, 17:02:15
Егор, здравствуйте!

C memberOf авторизация по группам работает, добавляю группу с пользователями в ней: dn: cn=redmine,ou=Groups,dc=mycompany,dc=ru
objectClass: groupOfNames
cn: redmine-group
member: uid=user1,ou=Users,dc=mycompany,dc=ru
member: uid=user2,ou=Users,dc=mycompany,dc=ru

Теперь нужно добавить еще пять пользователей (user3-user8), пользователей user3 и user5 сразу добавить в группу redmine. Поняла, добавление членства делается через добавление записи об этих пользователях в запись группы  через ldif:
dn: cn=redmine,ou=Groups,dc=mycompany,dc=ru
changetype: modify
add: member
member: uid=user5,ou=Users,dc=mycompany,dc=ru
-
add: member
member: uid=user3,ou=Users,dc=mycompany,dc=ru

Вы говорили, что пользователь, который является member'ом, получает скрытый, невидимый атрибут. Можно ли этот атрибут прописать при создании самого пользователя, без изменения  ldif'ом самой группы? Группу править можно, но интересует, есть ли метод "прямее", а не через окольные пути)))
Название: Re: MemberOf - Как указать членство пользователей в записях самих пользователей?
Отправлено: egor от 20 Апрель 2017, 00:42:33
Здравствуйте, Анна!
Наложение memberOf (http://pro-ldap.ru/tr/man/slapo-memberof.5.html) работает так, как оно работает -- тут уж ничего не изменишь =) . Если Ваш вопрос связан с тем, что с LDIF работать неудобно, можно всё то же самое делать и через GUI, например, с помощью моего любимого LdapAdmin (http://ldapadmin.org).

Если Вам не нравится сама концепция ведения сторонней группы, можно, конечно, от неё отказаться, а признак возможности авторизации пользователя в том или ином приложении указывать в самой записи пользователя в одном из неиспользуемых Вами атрибутов. Например, у пользователя задан атрибут o:
dn: uid=ivanov,ou=People,dc=mycompany,dc=ru
objectClass: inetOrgPerson
uid: ivanov
cn: Ivan Ivanov
givenName: Ivan
sn: Ivanov
mail: ivanov@mycompany.ru
userPassword: ivanovPassword
o: valid-redmine-user

Тогда в настройках redmine будет такой фильтр:
LDAP Filter = (&(objectClass=inetOrgPerson)(o=valid-redmine-user))

Егор