Мне нужно удалить операционный атрибут из накладкой политики под названием pwdAccountLockedTime
Как удалить операционный атрибут с помощью ldaptemplate
я следовал this Q&A, которые предполагают путь № 2:
Использование LdapTemplate#modifyAttributes(Name, ModificationItem[])
непосредственно, вручную, строящей ModificationItem
массив.
Вот мой код:
Name dn = buildDn(user);
DirContextOperations context = ldapTemplate.lookupContext(dn);
ModificationItem[] modificationItems;
modificationItems = new ModificationItem[1];
modificationItems[0] = new ModificationItem(DirContextAdapter.REMOVE_ATTRIBUTE,
new BasicAttribute(
"pwdAccountLockedTime", dn));
ldapTemplate.modifyAttributes(dn,modificationItems);
Я проверил пользователь и этот атрибут все еще существует там.
Что мне не хватает?
delete pwdAccountLockedTime - это то, что я готов сделать. Но я пытаюсь найти способ, как это сделать. Как вы можете видеть в моем вопросе, я пытался, но это не сработало. вы знаете, как это сделать? – rayman
Но были ли вы связаны с LDAP в качестве учетной записи администратора? – EJP
Попробуйте использовать известный код типа Apache Directory Studio и используйте учетную запись администратора. О, и никогда не используйте JNDI, используя текущий хороший LDAP SDK, например https://www.unboundid.com/products/ldap-sdk/ -jim – jwilleke