public void changeWlanPassword(final LdapUser user, final String newPassword) { final String sambaPasswordAttributeId = "sambaNTPassword"; if (isSambaAccountsConfigured() == false) { log.error("Could not change attribute " + sambaPasswordAttributeId + " because the samba accounts are not configured."); return; } if (user.getSambaSIDNumber() == null) { log.error("Could not change attribute " + sambaPasswordAttributeId + " because the sambaSID is null."); return; } log.info("Change attribute " + sambaPasswordAttributeId + " for " + getObjectClass() + ": " + buildDn(null, user)); final String sambaNTPassword = SmbEncrypt.NTUNICODEHash(newPassword); final ModificationItem modItem = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute(sambaPasswordAttributeId, sambaNTPassword)); // Perform the update modify(user, Collections.singletonList(modItem)); }
public void changePassword(final LdapUser user, final String oldPassword, final String newPassword) { final String userPasswordId = "userPassword"; log.info("Change attribute " + userPasswordId + " for " + getObjectClass() + ": " + buildDn(null, user)); final List<ModificationItem> modificationItems = new ArrayList<>(); if (oldPassword != null) { modificationItems .add(new ModificationItem(DirContext.REMOVE_ATTRIBUTE, new BasicAttribute(userPasswordId, oldPassword))); modificationItems .add(new ModificationItem(DirContext.ADD_ATTRIBUTE, new BasicAttribute(userPasswordId, newPassword))); } else { modificationItems .add(new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute(userPasswordId, newPassword))); } // Perform the update modify(user, modificationItems); }
public void deactivateUser(final DirContext ctx, final LdapUser user) throws NamingException { log.info("Deactivate user: " + buildDn(null, user)); final List<ModificationItem> modificationItems = new ArrayList<ModificationItem>(); modificationItems.add(new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("userPassword", null))); modificationItems .add(new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("mail", DEACTIVATED_MAIL))); buildDn(null, user); modify(ctx, user, modificationItems); final String ou = user.getOrganizationalUnit(); if (ou.startsWith(DEACTIVATED_SUB_CONTEXT2) == false) { // Move user to the sub-context "deactivated". final String newOu = LdapUtils.getOu(DEACTIVATED_SUB_CONTEXT, getOuBase()); move(ctx, user, newOu); user.setOrganizationalUnit(newOu); } }