다음을 통해 공유


LDAP 공급자를 사용하여 사용자 암호 설정 및 변경

사용자 암호를 설정하려면 IADsUser.SetPassword 메서드를 사용합니다.

Active Directory용 LDAP 공급자는 세 가지 프로세스 중 하나를 사용하여 암호를 설정합니다(iPlanet과 같은 타사 LDAP 디렉터리에서는 이 암호 인증 프로세스를 사용하지 않음). 이 메서드는 네트워크 구성에 따라 달라질 수 있습니다. 암호 설정 방법은 다음 순서대로 수행됩니다.

  • 먼저 LDAP 공급자는 Kerberos를 사용하려고 시도합니다.
  • 둘째, Kerberos가 실패하면 LDAP 공급자가 보안 LDAP 연결을 설정하려고 시도합니다. 보안 LDAP가 성공적으로 작동하려면 LDAP 서버에 적절한 서버 인증 인증서가 설치되어 있어야 하며 ADSI 코드를 실행하는 클라이언트는 해당 인증서를 발급한 기관을 신뢰해야 합니다. 서버와 클라이언트 모두 128비트 이상의 암호화를 지원해야 합니다.
  • 셋째, 보안 LDAP 연결에 실패하면 LDAP 공급자가 NetUserSetInfo API 호출을 시도합니다. 이전 릴리스에서 ADSI는 IADsOpenDSObject.OpenDSObject 또는 ADsOpenObject 호출에 지정된 보안 컨텍스트가 아니라 스레드가 실행 중인 보안 컨텍스트에서 NetUserSetInfo를 호출했습니다. 이후 릴리스에서는 ADSI LDAP 공급자가 NetUserSetInfo를 호출할 때 OpenDSObject 호출에 지정된 사용자를 가장하도록 변경되었습니다.

사용자 암호를 변경하려면 IADsUser.ChangePassword 메서드를 사용합니다. SetPassword와 마찬가지로 이 메서드는 여러 프로세스를 사용하여 암호를 변경할 수 있습니다. 암호 변경 방법은 다음과 같은 순서로 수행됩니다.