2

以下のように UNBoundID LDAP sdk を使用して AD パスワードを変更しようとしています。

    try{
    LDAPConnection connection=new LDAPConnectionObject().getConnection();
    PasswordModifyExtendedRequest passwordModifyRequest =
    new PasswordModifyExtendedRequest(
    user, // The user to update
    oldPass, // The current password for the user.
    newPass); // The new password.  null = server will generate

    PasswordModifyExtendedResult passwordModifyResult;
    try
    {
    passwordModifyResult = (PasswordModifyExtendedResult)
    connection.processExtendedOperation(passwordModifyRequest);
    System.out.println("passwordModifyResult---"+passwordModifyResult);
    }
    catch (LDAPException le)
    {
    le.printStackTrace();
    passwordModifyResult = new PasswordModifyExtendedResult(
    new ExtendedResult(le));
    }

    LDAPTestUtils.assertResultCodeEquals(passwordModifyResult,
    ResultCode.SUCCESS);
    String serverGeneratedNewPassword =
    passwordModifyResult.getGeneratedPassword();
    }catch(LDAPException e){
    e.printStackTrace();

    }
    }

以下のようにエラーをスローし、

    LDAPException(resultCode=2 (protocol error), errorMessage='0000203D: LdapErr: DSID-0C090C7D, comment: Unknown extended request OID, data 0, vece , diagnosticMessage='0000203D: LdapErr: DSID-0C090C7D, comment: Unknown extended request OID, data 0, vece

誰でもこれについて私を修正してもらえますか?

前もって感謝します

4

1 に答える 1

3

Active Directory (または少なくとも使用しているインストール) は、パスワード変更拡張操作の使用をサポートしていないようです。ただし、適切に変更を作成すれば、LDAP 変更操作を使用してユーザー パスワードを変更できます。要件の説明とコード例については、http://www.dirmgr.com/blog/2010/8/26/ldap-password-changes-in-active-directory.htmlを参照してください。

于 2014-06-05T16:43:05.393 に答える