powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / LDAP и unboundid: как заставить работать password policy
2 сообщений из 2, страница 1 из 1
LDAP и unboundid: как заставить работать password policy
    #38981337
Африканец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi All,

Необходимо устроить аутентификацию пользователей через LDAP. При этом важно искользовать парольную политику, в частности:
- заблокированный пользователь при попытке аутентификации должен получить сообщение "аккаунт заблокирован";
- свежесозданный пользователь при первом логине должен поменять пароль.

Используется OpenLDAP 2.4.38 под Windows. В качестве клиентского API использую unboundid.

Вопрос: как заставить работать password policy при работе через API?

Password policy определена так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
dn: ou=pwpolicies,dc=minecofin,dc=com
objectclass: organizationalUnit

dn: cn=default,ou=pwpolicies,dc=minecofin,dc=com
objectClass: pwdPolicy
objectclass: organizationalRole
cn: default
pwdAttribute: userPassword
pwdMaxAge: 2592000
pwdExpireWarning: 86400
pwdInHistory: 3
#pwdCheckQuality: 0
pwdMaxFailure: 5
pwdLockout: TRUE
#pwdLockoutDuration: 0
#pwdGraceAuthNLimit: 0
#pwdFailureCountInterval: 0
pwdMustChange: TRUE
pwdMinLength: 6
#pwdAllowUserChange: TRUE
pwdSafeModify: TRUE



В конфиге openLDAP (slapd.comf) политика подключена так:

Код: sql
1.
2.
3.
overlay 	ppolicy
ppolicy_default	"cn=default,ou=pwpolicies,dc=minecofin,dc=com"
ppolicy_use_lockout



Утилиты типа ldapwhoami работают с политикой (при наличии ключа -e ppolicy); например, для аккаунта с атрибутом pwdReset=TRUE:

Код: sql
1.
2.
3.
C:\OpenLDAP\bin>ldapwhoami -x -D uid=croffler,dc=minecofin,dc=com -w hello -e ppolicy
ldap_bind: Success (0); Password must be changed
dn:uid=croffler,dc=minecofin,dc=com



Но, когда использую API, в bindResult не появляется никаких дополнительных response control'ов, которые позволяли бы сделать вывод, что пароль надо менять.

Код: java
1.
2.
3.
LDAPConnection connection = new LDAPConnection(ldapHost, ldapPort);
BindRequest bindRequest = new SimpleBindRequest(dn, password);
BindResult bindResult = connection.bind(bindRequest);
...
Рейтинг: 0 / 0
LDAP и unboundid: как заставить работать password policy
    #38982088
Африканец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема решилась.

С моей точки зрения, LDAP устроен несколько нелогично. Казалось бы, если есть password policy по умолчанию, все подключения должны ей следовать. Однако для того, чтобы password policy применялась при подключении, необходимо этого явно потребовать (см. пример по ссылке ).
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / LDAP и unboundid: как заставить работать password policy
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]