Сам OpenLDAP может быть расширен с помощью оверлейных программ. Смотрите на его наложение Политик паролей.
Какие приложения Ваши пользователи LDAP используют?
Я думаю, что вывод должен быть greppable как это (не протестированный):
slapcat -b "cn=Manager,dc=berkerly dc=ac dc=uk" | egrep "(cn:|pwdChangedTime)"
это должно произвести cn и pwdChangedTime для всех пользователей. Как я сделал бы это:
1) получите userlist с slapcat
2) для каждого пользователя в том списке получите cn и pwdChangedTime, использующий выше grep. Другая опция состоит в том, чтобы использовать жемчуг, который имеет lib LDAP. С этим lib легко вытащить данные из LDAP.
3) проверка вынимает дату из pwdChangedTime var.
Я не знаю, можно ли вынудить пользователей изменить свой переданный с LDAP. Я думаю, что существует путь, просто не уверенный в этом.
надеюсь, что мое сообщение полезно.
P.S.: извините я не могу отправить больше примеров кода, но я работаю банкомат.
Это, конечно, возможно, хотя едва желательный и определенно не масштабируемый, для дампа LDIF для определения, какие пароли пользователей истекут и когда. Метод, который Вы предлагаете, требует, чтобы полное сканирование таблицы каталога, сопровождаемого некоторым текстом, пререкающимся, получило все это на одной строке и т.д.
Насколько я знаю, OpenLDAP поддерживает Истекший Пароль и Пароль, Истекающий средства управления. Эти средства управления возвращаются из сервера в связывать ответе. Их цель состоит в том, чтобы сообщить клиентам состояния пароля пользователей, поскольку это касается политики паролей. Эти средства управления описаны в VCHU.
Используя эти средства управления делает клиенты ответственными за пользовательское уведомление и уже поддерживаются клиентами входа в систему UNIX, например (хотя клиент Соляриса повреждается, см. эту статью). Когда Ваш клиент получает связывать ответ, и проверки на присутствие пароля истекли управление (если аутентификация была неудачна), и пароль, истекающий управление, то клиент может затем принять соответствующие меры. Клиенты должны всегда проверять на средства управления в ответах LDAP.
Выполнение уведомления клиентом является гибким, настраивается, является динамичным и масштабируемым. Делание уведомления сервером не является ни одной из тех вещей.
Существуют другие вещи, которые могли быть сделаны для улучшения опыта аутентификации, например, с помощью управления утверждением LDAP с фильтром, который проверяет pwdChangedTime
и сделайте связывать условное выражение на успехе фильтра.