You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2015/09/18 19:06:39 UTC
svn commit: r1703906 -
/directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java
Author: kayyagari
Date: Fri Sep 18 17:06:39 2015
New Revision: 1703906
URL: http://svn.apache.org/viewvc?rev=1703906&view=rev
Log:
removed ppolicy attributes
Modified:
directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java
Modified: directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java
URL: http://svn.apache.org/viewvc/directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java?rev=1703906&r1=1703905&r2=1703906&view=diff
==============================================================================
--- directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java (original)
+++ directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java Fri Sep 18 17:06:39 2015
@@ -13,6 +13,10 @@
*/
package org.apache.directory;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.entry.Attribute;
import org.apache.directory.api.ldap.model.entry.DefaultAttribute;
@@ -62,19 +66,33 @@ public class PasswordResetter {
try {
Dn dn = new Dn(ds.getSchemaManager(), userDn);
- Entry entry = session.lookup(dn, SchemaConstants.ALL_USER_ATTRIBUTES);
+ Entry entry = session.lookup(dn, SchemaConstants.ALL_ATTRIBUTES_ARRAY);
if(entry == null) {
System.out.println( "No such user exists" );
}
else {
+ System.out.println( "Modifying entry:\n" + entry );
AttributeType atTpe = ds.getSchemaManager().lookupAttributeTypeRegistry(SchemaConstants.USER_PASSWORD_AT);
Attribute pwdAt = new DefaultAttribute(atTpe);
pwdAt.add(Strings.getBytesUtf8(password));
- Modification mod = new DefaultModification(ModificationOperation.REPLACE_ATTRIBUTE, pwdAt);
- session.modify(dn, mod);
+ List<Modification> mods = new ArrayList<Modification>();
+ Iterator<Attribute> itr = entry.iterator();
+ while(itr.hasNext()) {
+ Attribute at = itr.next();
+ String name = at.getUpId();
+ if(name.startsWith("pwd")) {
+ System.out.println( "removing attribute " + name);
+ Modification m = new DefaultModification(ModificationOperation.REMOVE_ATTRIBUTE, at);
+ mods.add(m);
+ }
+ }
+
+ Modification mod = new DefaultModification(ModificationOperation.REPLACE_ATTRIBUTE, pwdAt);
+ mods.add(mod);
+ session.modify(dn, mods);
System.out.println("Successfully modified password");
}
}