ActiveDirectoryMembershipProvider.ChangePassword 方法

定义

更改指定用户的密码。

public:
 override bool ChangePassword(System::String ^ username, System::String ^ oldPassword, System::String ^ newPassword);
public override bool ChangePassword (string username, string oldPassword, string newPassword);
override this.ChangePassword : string * string * string -> bool
Public Overrides Function ChangePassword (username As String, oldPassword As String, newPassword As String) As Boolean

参数

username
String

要为其更新密码的用户的名称。

oldPassword
String

指定的用户的当前密码。

newPassword
String

指定的用户的新密码。

返回

Boolean

如果密码更新成功,则为 true;否则为 false

例外

username 为空,或超过用户名的最大长度(通常为 256 个字符)。

  • 或 - username 包含逗号。

  • 或 - 用户名映射到 userPrincipalName 特性,并且 username 参数包含反斜杠。

  • 或 - oldPasswordnewPassword 是长度为零的字符串。

  • 或 - oldPasswordnewPassword 超过最大密码长度(通常为 128 个字符)。

  • 或 - newPassword 小于 MinRequiredPasswordLength 属性所指定的最小密码长度

  • 或 - newPassword 包含的非字母字符数比 MinRequiredNonAlphanumericCharacters 属性所指定的数目少。

  • 或 - 根据 PasswordStrengthRegularExpression 属性中定义的正则表达式进行的 newPassword 验证失败。

usernamenull

  • 或 - oldPassword 上声明的默认值为 null

  • 或 - newPasswordnull

newPassword 不满足 Active Directory 服务器所定义的复杂性要求。

未能建立到 Active Directory 应用程序模式服务器的安全连接。

发生了未经处理的异常。

注解

该方法 ChangePassword 用于更新 Active Directory 数据存储中的用户密码。 无论实例配置为使用的凭据 ActiveDirectoryMembershipProvider ,提供程序都会使用 username 连接 oldPassword 凭据和参数连接到 Active Directory 服务器。

EnablePasswordReset如果属性是true,如果用户以前锁定了帐户,则用户无法更改其密码,因为用户尝试了过多的尝试来回答密码问题。 在更改密码之前,用户需要等待属性中指定的 PasswordAnswerAttemptLockoutDuration 分钟数。

如果密码更改成功, EnablePasswordReset 并且属性为 true,则重置用户错误的密码应答跟踪计数器。

提供程序通过对从连接字符串中指定的搜索点开始的用户名执行子树搜索来查找要更新的用户实例。 ActiveDirectoryMembershipProvider有关连接字符串的详细信息,请参阅类主题。

若要更改 Active Directory 服务器上的密码, connectionProtection 必须将其设置为 SignAndSeal

使用 ADAM 服务器时, connectionProtection 属性可以设置为 None,但仅当显式配置 ADAM 服务器以允许通过不安全的连接更改密码时。

适用于

另请参阅