다음을 통해 공유


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

지정된 사용자의 암호입니다.

반환

지정된 usernamepassword가 유효하면 true이고, 그렇지 않으면 false입니다. 지정된 사용자가 Active Directory 데이터 저장소에 없으면 ValidateUser(String, String) 메서드가 false를 반환합니다.

예외

ValidateUser(String, String) 인스턴스가 초기화되기 전에 ActiveDirectoryMembershipProvider 메서드가 호출된 경우

설명

이 메서드는 Active Directory 데이터 저장소에 Membership 대해 사용자 자격 증명의 유효성을 검사하기 위해 클래스에서 호출됩니다.

속성이 EnablePasswordResettrue 고 제공된 자격 증명이 유효한 경우 잘못된 암호 답변에 대한 사용자의 추적 카운터가 다시 설정됩니다.

메서드는 ValidateUser 다음과 같은 상황에서 올바른 자격 증명이 제공되면 를 반환 false 할 수 있습니다.

  1. 너무 많은 로그온 시도 실패로 인해 디렉터리 서버에서 사용자 계정을 잠갔습니다. 사용자는 디렉터리의 잠금 기간이 경과할 때까지 로그온할 수 없습니다.

  2. 속성이 trueEnablePasswordReset 경우 사용자가 잘못된 암호 답변을 너무 여러 번 제공하면 사용자 계정이 잠깁니다. 속성에 지정된 PasswordAnswerAttemptLockoutDuration 시간이 지나면 사용자의 계정이 잠금 해제됩니다.

  3. 사용자가 연결 문자열에 지정된 컨테이너에 있어야 합니다. 다른 컨테이너 또는 다른 도메인에 있는 사용자 계정에 대해 유효한 자격 증명이 제공됩니다. 사용자가 연결 문자열에 지정된 컨테이너에 있어야 합니다.

사용자의 유효성을 검사 하는 경우 공급자는 애플리케이션 구성 파일에 구성 된 자격 증명이 아닌 지정 된 사용자 이름 및 암호를 사용 하 여 Active Directory 데이터 저장소에 연결 하 여 자격 증명을 확인 합니다.

그러나 인스턴스는 ActiveDirectoryMembershipProvider 다음과 같은 이유로 구성된 자격 증명을 사용하여 디렉터리에 연결합니다.

  • 인스턴스의 연결 문자열에 의해 ActiveDirectoryMembershipProvider 결정된 대로 사용자가 검색 범위 내에 있는지 확인합니다. 공급자는 연결 문자열에 지정된 검색 지점에서 시작하는 하위 트리 검색을 사용하여 사용자가 있는지 여부를 확인합니다. 사용자가 지정된 컨테이너에 있어야 합니다. 연결 문자열의 지정된 컨테이너 외부에서 유효한 자격 증명의 유효성은 검사되지 않습니다. 연결 문자열에 ActiveDirectoryMembershipProvider 대한 자세한 내용은 클래스 항목을 참조하세요.

  • 속성이 EnablePasswordResetActiveDirectoryMembershipProvider 경우 인스턴스는 true구성된 자격 증명을 사용하여 사용자 인스턴스를 로드하여 사용자가 암호 응답을 변경하는 데 너무 많은 실패한 시도를 했기 때문에 사용자가 잠겼는지 여부를 확인합니다.

중요

"게스트" 계정을 사용하도록 설정된 Active Directory 도메인 컨트롤러에 연결하는 것은 잠재적인 보안 위협입니다. "게스트" 계정을 사용하도록 설정된 Active Directory 도메인 컨트롤러에서 수행된 모든 유효성 검사 시도가 성공합니다. Active Directory 도메인 컨트롤러를 사용할 때 보안을 강화하려면 도메인 컨트롤러에서 "게스트" 계정을 사용하지 않도록 설정해야 합니다.

인스턴스는 ActiveDirectoryMembershipProvider 다음 조건 중 하나가 충족되면 Active Directory에 대해 동시 바인딩을 시도합니다.

또한 동시 바인딩을 만들려면 다음 조건이 true여야 합니다.

  • 디렉터리 서버는 Windows Server 2003에서 실행 중이어야 합니다.

  • 인스턴스를 실행하는 ActiveDirectoryMembershipProvider 웹 서버의 운영 체제는 동시 바인딩(예: Windows Server 2003)을 지원해야 합니다.

동시 바인딩을 사용하면 사용자의 마지막 로그온 날짜가 디렉터리에서 업데이트되지 않습니다. 따라서 LastLoginDate 속성을 사용할 수 없습니다.

선행 및 후행 공백은 매개 변수에서 username 잘립니다.

적용 대상

추가 정보