ActiveDirectoryMembershipProvider.ChangePassword 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
更改指定用户的密码。
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
指定用户的新密码。
返回
true 如果密码已成功更新,则为否则,为 false.
例外
username 为空,或超过用户名的最大长度(通常为 256 个字符)。
-或-
username 包含逗号。
-或-
用户名映射到 userPrincipalName 属性,参数 username 包含反斜杠。
-或-
oldPassword 或 newPassword 为零长度字符串。
-或-
oldPassword 或 newPassword 超过最大密码长度(通常为 128 个字符)。
-或-
newPassword 小于属性中指定的 MinRequiredPasswordLength 最小密码大小
-或-
newPassword 包含少于属性中指定的 MinRequiredNonAlphanumericCharacters 非字母字符数。
-或-
newPassword 无法通过属性中定义的正则表达式进行 PasswordStrengthRegularExpression 验证。
newPassword 不符合 Active Directory 服务器定义的复杂性要求。
无法与 Active Directory 应用程序模式服务器建立安全连接。
在 ChangePassword(String, String, String) 初始化实例之前 ActiveDirectoryMembershipProvider 调用该方法。
发生未经处理的异常。
注解
该方法 ChangePassword 用于更新 Active Directory 数据存储中的用户密码。 无论实例配置为使用的凭据ActiveDirectoryMembershipProvider如何,提供程序都会使用参数usernameoldPassword作为连接凭据连接到 Active Directory 服务器。
EnablePasswordReset如果该属性为true,则如果用户之前锁定了帐户,则用户无法更改其密码,因为用户尝试的尝试过多来回答密码问题。 在更改密码之前,用户需要等待属性中指定的 PasswordAnswerAttemptLockoutDuration 分钟数。
如果密码更改成功, EnablePasswordReset 并且属性为 true,则重置用户错误的密码应答跟踪计数器。
提供程序通过对从连接字符串中指定的搜索点开始的用户名执行子树搜索来查找要更新的用户实例。 ActiveDirectoryMembershipProvider有关连接字符串的详细信息,请参阅类主题。
若要更改 Active Directory 服务器上的密码, connectionProtection 必须将属性设置为 SignAndSeal。
使用 ADAM 服务器时, connectionProtection 该属性可以设置为 None,但仅当显式配置 ADAM 服务器以允许通过不安全的连接更改密码时。