使用 LDAP 提供程序设置和更改用户密码
若要设置用户密码,请使用 IADsUser.SetPassword 方法。
Active Directory 的 LDAP 提供程序使用三个进程之一来设置密码(iPlanet 等第三方 LDAP 目录不使用此密码身份验证过程)。 该方法可能因网络配置而异。 设置密码的方法顺序如下:
- 首先,LDAP 提供程序尝试通过 128 位 SSL 连接使用 LDAP。 为了使 LDAP SSL 成功运行,LDAP 服务器必须安装相应的服务器身份验证证书,并且运行 ADSI 代码的客户端必须信任颁发这些证书的颁发机构。 服务器和客户端都必须支持 128 位加密。
- 其次,如果 SSL 连接失败,LDAP 提供程序将尝试使用 Kerberos。 在 Windows 2000 上,Kerberos 可能不支持跨林身份验证。 Kerberos 的后期增强功能支持跨林身份验证。
- 第三,如果 Kerberos 不成功,LDAP 提供程序将尝试 NetUserSetInfo API 调用。 在以前的版本中,ADSI 在线程运行的安全上下文中调用 NetUserSetInfo,而不是调用 IADsOpenDSObject.OpenDSObject 或 ADsOpenObject 中指定的安全上下文。 在更高版本中,已更改此项,以便 ADSI LDAP 提供程序在调用 NetUserSetInfo 时模拟 OpenDSObject 调用中指定的用户。
若要更改用户密码,请使用 IADsUser.ChangePassword 方法。 与 SetPassword 一样,此方法可以使用多个进程来更改密码。 修改密码的方法顺序如下:
- 首先,LDAP 提供程序尝试通过 128 位 SSL 连接使用 LDAP。
- 其次,如果 128-SSL 连接失败,LDAP 提供程序将尝试 NetUserChangePassword API 调用。 与 SetPassword 一样,在早期版本中,ADSI LDAP 提供程序模拟使用 IADsOpenDSObject.OpenDSObject 方法或 ADsOpenObject 函数传递的用户凭据。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈