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 属性所指定的数目少。
- 或 -
根据 PasswordStrengthRegularExpression 属性中定义的正则表达式进行的 newPassword
验证失败。
newPassword
不满足 Active Directory 服务器所定义的复杂性要求。
未能建立到 Active Directory 应用程序模式服务器的安全连接。
在初始化 ChangePassword(String, String, String) 实例前,调用了 ActiveDirectoryMembershipProvider 方法。
发生了未经处理的异常。
注解
方法 ChangePassword 用于更新 Active Directory 数据存储中的用户密码。 无论实例配置为使用何种凭据 ActiveDirectoryMembershipProvider ,提供程序都会使用 username
和 oldPassword
参数作为连接凭据连接到 Active Directory 服务器。
EnablePasswordReset如果 属性为 true
,则用户无法更改其密码(如果帐户以前被锁定),因为用户尝试回答密码问题过多。 在更改密码之前, PasswordAnswerAttemptLockoutDuration 用户需要等待 属性中指定的分钟数。
如果密码更改成功,并且 EnablePasswordReset 属性为 true
,则重置用户错误的密码应答跟踪计数器。
提供程序通过从连接字符串中指定的搜索点开始对用户名执行子树搜索来查找要更新的用户实例。 有关连接字符串的详细信息, ActiveDirectoryMembershipProvider 请参阅类主题。
若要更改 Active Directory 服务器上的密码, connectionProtection
必须将 属性设置为 SignAndSeal。
使用 ADAM 服务器时, connectionProtection
属性可以设置为 None,但前提是显式配置 ADAM 服务器以允许通过不安全的连接更改密码。