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

Общие вопросы по LDAP => Общий раздел => Тема начата: ctopmbi4 от 17 Апрель 2019, 11:01:18

Название: Проверка входа пользователя
Отправлено: ctopmbi4 от 17 Апрель 2019, 11:01:18
Добрый день.
Хотелось бы проверять вновь созданного  пользователя и задавать ему атрибут pwdReset для принудительной смены пароля при первом входе.
Не нашел операционного атрибута о входе пользователя. 
Как можно этот момент реализовать?
Название: Re: Проверка входа пользователя
Отправлено: egor от 17 Апрель 2019, 12:43:10
Здравствуйте. Специального атрибута для фиксации факта/количества попыток входа пользователя нет. Как вариант, можно создавать учётную запись с уже установленным атрибутом pwdReset или pwdMustChange, тогда, согласно пункту 8.1.2.2 документа draft-behera-ldap-password-policy-09.txt (https://pro-ldap.ru/tr/zytrax/apc/draft-behera-ldap-password-policy-09.txt), сервер должен вернуть ответ bindResponse  с элементом управления passwordPolicyResponse и  соответствующим уведомлением "changeAfterReset specified". Другое дело, сможет ли пользовательский клиент обработать такой ответ и сообщить пользователю о необходимости сменить пароль, например, если в качестве клиента будет какой-нибудь аутентификационный модуль squid, apache и т.п. Скорее всего, нет.

В любом случае, это моё предположение, нужно проверять на макете.

Егор
Название: Re: Проверка входа пользователя
Отправлено: ctopmbi4 от 17 Апрель 2019, 15:25:21
Егор может быть как то еще можно определить, что УЗ пользователя только что создана?
То есть атрибут pwdReset хочу добавлять именно через скрипт который должен определить, что пользователь еще не логинился в систему.
Может быть можно прикрутить какой то доп. модуль?
Название: Re: Проверка входа пользователя
Отправлено: egor от 18 Апрель 2019, 00:48:52
Как я понял, ситуация складывается так, что учётки заводит один человек, а атрибуты наложения ppolicy должен назначать другой. Лучшим вариантом, наверное, было бы, если бы это делалось одновременно при заведении учётки.

Для записи в каталоге OpenLDAP предусмотрено несколько операционных атрибутов с отметками времени: createTimestamp, modifyTimestamp, entryCSN, можно попытаться привязаться к ним, но это не даст 100% гарантии в определении того, заходил ли уже пользователь в систему.

Из наложений для определения входа пользователя в систему, на мой взгляд, подошло бы accesslog (https://pro-ldap.ru/tr/man/slapo-accesslog.5.html), на собранных данных можно построить какой-то анализ.

Егор