All Articles

Change User password using OpenDS SDK

Changing User’s Password using OpenDS SDK.

import org.opends.sdk.Connection;
import org.opends.sdk.ConnectionFactory;
import org.opends.sdk.Connections;
import org.opends.sdk.LDAPConnectionFactory;
import org.opends.sdk.LDAPOptions;
import org.opends.sdk.requests.BindRequest;
import org.opends.sdk.requests.PasswordModifyExtendedRequest;
import org.opends.sdk.requests.Requests;
import org.opends.sdk.responses.PasswordModifyExtendedResult;
 
/**
 * @author Sachin Handiekar
 */
public class LDAPChangePassword {
 
 public static void main(String[] args) throws Exception {
 
  final String hostName = "<<<HOSTNAME>>";
  final int port = 2389;
  final String bindUserName = "<< BIND USERNAME >>"; // BIND USER NAME (for ex. cn=adminstrator )
  final String password = "<< PASSWORD >>";
 
  LDAPOptions options = new LDAPOptions();
 
  ConnectionFactory connFactory = new LDAPConnectionFactory(hostName, port, options);
 
                // Simple Bind Request
  BindRequest bindRequest = Requests.newSimpleBindRequest(bindUserName, password.toCharArray());
   
   
  if (bindRequest != null) {
   connFactory = Connections.newAuthenticatedConnectionFactory(connFactory, bindRequest);
  }
 
  Connection connection = connFactory.getConnection();
   
  System.out.println("Got a Connection : " + connection);   
 
  final String USER_CN_PATH = ",cn=Users,dc=sample,dc=com";  
  String userName = "JohnDoe";
  String userIdentity = "cn="+  userName + USER_CN_PATH;
   
   
  String newPassword = "NewPassword";
 
  // Password Modify Request
  PasswordModifyExtendedRequest passwordModifyRequest = Requests.newPasswordModifyExtendedRequest();
 
  passwordModifyRequest.setUserIdentity(userIdentity);
  passwordModifyRequest.setNewPassword(newPassword.toCharArray());
 
  PasswordModifyExtendedResult result = (PasswordModifyExtendedResult) connection.extendedRequest(passwordModifyRequest);
 
  System.out.println("Result Code : " + result.getResultCode());
 
  // Closing the connection
  connection.close();
 
 }
 
}