ActiveDirectoryMembershipProvider.ValidateUser(String, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
验证 Active Directory 数据存储区中是否存在指定的用户名和密码。
public:
override bool ValidateUser(System::String ^ username, System::String ^ password);
public override bool ValidateUser (string username, string password);
override this.ValidateUser : string * string -> bool
Public Overrides Function ValidateUser (username As String, password As String) As Boolean
参数
- username
- String
要验证的用户的名称。
- password
- String
指定的用户的密码。
返回
如果指定的 username
和 password
有效,则为 true
;否则为 false
。 如果 Active Directory 数据存储区中不存在指定的用户,ValidateUser(String, String) 方法则返回 false
。
例外
在初始化 ValidateUser(String, String) 实例前,调用了 ActiveDirectoryMembershipProvider 方法。
注解
此方法由 类调用, Membership 用于针对 Active Directory 数据存储验证用户凭据。
EnablePasswordReset如果 属性为 true
且提供的凭据有效,则会重置用户针对错误密码答案的跟踪计数器。
ValidateUser在以下情况下,当提供正确的凭据时,方法可能会返回 false
:
由于登录尝试失败次数过多,用户帐户被目录服务器锁定。 在目录的锁定持续时间过后,用户将无法登录。
EnablePasswordReset如果 属性为
true
,则如果用户提供错误的密码答案次数过多,则用户帐户将被锁定。 在 属性中指定的 PasswordAnswerAttemptLockoutDuration 时间过后,用户的帐户将解锁。用户必须存在于连接字符串中指定的容器中。 为位于不同容器或不同域中的用户帐户提供有效的凭据。 用户必须存在于连接字符串中指定的容器中。
验证用户时,提供程序通过使用指定的用户名和密码(而不是应用程序配置文件中配置的凭据)连接到 Active Directory 数据存储来验证凭据。
但是,由于以下原因, ActiveDirectoryMembershipProvider 实例将使用配置的凭据连接到目录。
确认用户存在于由 ActiveDirectoryMembershipProvider 实例的连接字符串确定的搜索范围内。 提供程序使用从连接字符串中指定的搜索点开始的子树搜索来确定用户是否存在。 用户必须存在于指定的容器中。 不会验证在连接字符串的指定容器之外有效的凭据。 有关连接字符串的详细信息, ActiveDirectoryMembershipProvider 请参阅类主题。
EnablePasswordReset如果 属性为
true
,则ActiveDirectoryMembershipProvider实例将使用配置的凭据加载用户实例,以检查用户是否因为尝试更改密码答案失败过多而被锁定。
重要
连接到启用了“来宾”帐户的 Active Directory 域控制器是潜在的安全威胁。 在启用了“来宾”帐户的 Active Directory 域控制器上所做的所有验证尝试都将成功。 若要提高使用 Active Directory 域控制器时的安全性,应在域控制器上禁用“来宾”帐户。
满足以下条件之一时,实例 ActiveDirectoryMembershipProvider 将尝试对 Active Directory 进行并发绑定:
将 CurrentConnectionProtection 属性设置为 None。
属性 CurrentConnectionProtection 设置为 SignAndSeal ,实例选择 ActiveDirectoryMembershipProvider SSL 来保护连接。
此外,若要进行并发绑定,必须满足以下条件:
目录服务器必须在 Windows Server 2003 上运行。
运行 ActiveDirectoryMembershipProvider 实例的 Web 服务器的操作系统必须支持并发绑定 (例如 Windows Server 2003) 。
使用并发绑定时,用户的上次登录日期不会在 目录中更新;因此, LastLoginDate 不能依赖 属性。
从 username
参数中剪裁前导空格和尾随空格。