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 параметра.

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

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