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 при указании правильных учетных данных в следующих случаях:

  1. Учетная запись пользователя была заблокирована сервером каталогов из-за слишком большого количества неудачных попыток входа. Пользователь не сможет войти в систему до тех пор, пока не пройдет длительность блокировки каталога.

  2. EnablePasswordReset Если свойство имеет значение true, учетная запись пользователя будет заблокирована, если пользователь слишком много раз предоставил неправильный ответ пароля. Учетная запись пользователя будет разблокирована по истечении времени, указанного в свойстве PasswordAnswerAttemptLockoutDuration .

  3. Пользователь должен существовать в контейнере, указанном в строке подключения. Допустимые учетные данные предоставляются для учетной записи пользователя, расположенной в другом контейнере или в другом домене. Пользователь должен существовать в контейнере, указанном в строке подключения.

При проверке пользователя поставщик проверяет учетные данные, подключаясь к хранилищу данных Active Directory, используя указанные имя пользователя и пароль, а не учетные данные, настроенные в файле конфигурации приложения.

ActiveDirectoryMembershipProvider Однако экземпляр будет подключаться к каталогу, используя настроенные учетные данные по следующим причинам.

  • Проверка существования пользователя в области поиска, определяемой строкой ActiveDirectoryMembershipProvider подключения экземпляра. Поставщик использует поиск по поддереву, начиная с точки поиска, указанной в строке подключения, чтобы определить, существует ли пользователь. Пользователь должен существовать в указанном контейнере. Учетные данные, допустимые вне указанного контейнера строки подключения, не будут проверяться. ActiveDirectoryMembershipProvider Дополнительные сведения о строках подключения см. в разделе о классах.

  • EnablePasswordReset Если свойство имеет значение true, ActiveDirectoryMembershipProvider экземпляр будет использовать настроенные учетные данные для загрузки экземпляра пользователя, чтобы проверить, заблокирован ли пользователь из-за слишком большого количества неудачных попыток изменить ответ на пароль.

Важно!

Подключение к контроллеру домена Active Directory с включенной гостевой учетной записью является потенциальной угрозой безопасности. Все попытки проверки на контроллере домена Active Directory с включенной учетной записью "Гостевая" будут успешными. Чтобы повысить безопасность при использовании контроллера домена Active Directory, необходимо отключить учетную запись "Гостевая" на контроллере домена.

Экземпляр ActiveDirectoryMembershipProvider попытается выполнить параллельную привязку к Active Directory при выполнении одного из следующих условий:

Кроме того, для выполнения параллельной привязки должны выполняться следующие условия:

  • Сервер каталогов должен работать в Windows Server 2003.

  • Операционная система веб-сервера, на котором выполняется ActiveDirectoryMembershipProvider экземпляр, должна поддерживать параллельные привязки (например, Windows Server 2003).

При использовании параллельной привязки дата последнего входа пользователя не обновляется в каталоге; LastLoginDate поэтому нельзя полагаться на свойство .

Начальный и конечный пробелы обрезаются из username параметра .

Применяется к

См. также раздел