ActiveDirectoryMembershipProvider.ValidateUser(String, String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет существование указанного имени пользователя и пароля в хранилище данных 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
Пароль заданного пользователя.
Возвращаемое значение
Значение true
, если указанные username
и password
действительны; в противном случае — 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, следует отключить учетную запись guest на контроллере домена.
Экземпляр ActiveDirectoryMembershipProvider попытается выполнить параллельную привязку к Active Directory при выполнении одного из следующих условий:
Свойство CurrentConnectionProtection имеет значение None.
Для CurrentConnectionProtection свойства задано значение SignAndSeal , а для защиты подключения экземпляр выбирает ActiveDirectoryMembershipProvider SSL.
Кроме того, для выполнения параллельной привязки должны выполняться следующие условия:
Сервер каталогов должен работать в Windows Server 2003.
Операционная система веб-сервера, на котором выполняется ActiveDirectoryMembershipProvider экземпляр , должна поддерживать параллельные привязки (например, Windows Server 2003).
При использовании параллельной привязки дата последнего входа пользователя не обновляется в каталоге; таким образом LastLoginDate , нельзя полагаться на свойство .
Начальные и конечные пробелы обрезаются из username
параметра .