Получение даты истечения срока действия пароля и оставшихся дней до истечения срока действия

Я пытаюсь получить максимальный срок действия пароля и дату установки последнего пароля конкретного пользователя, чтобы рассчитать оставшиеся дни до истечения срока его действия.

Но у меня возникла проблема с получением значения maxPwdAge и maxLastSet, поскольку context.getStringAttribute("pwdMaxAge") и context.getStringAttribute("pwdLastSet") возвращают значение null, в то время как я могу вернуть имя пользователя и отображаемое имя.

Атрибуты «maxPwdAge» и «maxLastSet» подходят для весеннего ldap?

@Override public LdapUser mapFromContext(Object ctx) {
  DirContextAdapter context = (DirContextAdapter) ctx;
  LdapUser ldapUser = new LdapUser();

  ldapUser.setName(context.getStringAttribute("name"));
  ldapUser.setGivenName(context.getStringAttribute("displayName"));
  ldapUser.setPwdAge(context.getStringAttribute("pwdMaxAge"));
  ldapUser.setPwdLastSet(context.getStringAttribute("pwdLastSet));

  return ldapUser;
}

person Jesman    schedule 09.12.2019    source источник
comment
Если ваш сервер каталогов LDAP поддерживает политику паролей behera, средства управления [.ietf.org/html/draft-behera-ldap-password-policy-10], вы можете использовать это, чтобы позволить DS сообщить вам, когда выполняется операция привязки.   -  person Bernhard Thalmayr    schedule 10.12.2019


Ответы (1)


maxPwdAge хранится внутри класса объектов «домен» или «domainDns» в базе контроллера домена.

query().base(DC=test,DC=local).searchScope(SearchScope.OBJECT).where("objectclass").is("domain")

person Roland    schedule 09.12.2019