Я решаю проблему с openldap. Моя цель - создать учетную запись в openldap и установить время, в течение которого эта учетная запись действительна. Итак, по истечении этого времени ldap вернет, например, что эта учетная запись не существует / больше не действительна. Я искал в Google, но не нашел ничего, что казалось бы простым для реализации. Я только слепой или здесь действительно ничего подобного?
Всем спасибо за вашу помощь и время.
Для этого вы можете использовать оверлей. Это называется «dds» / «Службы динамического каталога». Дополнительную информацию можно найти здесь: http://www.openldap.org/doc/admin24/overlays.html#Dynamic%20Directory%20Services
Кроме того, существует также справочная страница: man 5 slapo-dds :)
Вы можете включить его, используя cn = config, добавив его как новую заметку, например, таким образом:
dn: olcOverlay = dds, olcDatabase = {1} mdb, cn = config
objectClass: olcDDSConfig
olcOverlay: dds
olcDDSstate: ИСТИНА
olcDDSmaxTtl: 604800
olcDDSminTtl: 86400
olcDDSdefaultTtl: 86400
olcDDSinterval: 3600
olcDDStolerance: 0
olcDDSmaxDynamicObjects: 10
В данном случае olcDatabase = {1} mdb, cn = config
- это база данных, которая представляет ваше DIT (информационное дерево данных, ваш основной каталог LDAP). Чтобы убедиться в этом, проверьте атрибут узла olcSuffix
.
После включения этого наложения вы можете создать новый узел в своем DIT и добавить вспомогательный объектный класс dynamicObject
; таким образом ваш новый узел будет иметь указанное время жизни.
Пример:
dn: cn = user1, ou = users, dc = example, dc = com
objectClass: человек
objectClass: simpleSecurityObject
objectClass: dynamicObject
cn: user1
userPassword: password
Этот оверлей становится еще более мощным после объединения с оверлеем memberOf ( man 5 slapo-memberof
). Обязательно зацените!