다음을 통해 공유


ActiveDirectoryMembershipProvider.ResetPassword(String, String) 메서드

정의

사용자의 암호를 자동으로 생성된 새 암호로 다시 설정합니다.

public:
 override System::String ^ ResetPassword(System::String ^ username, System::String ^ passwordAnswer);
public override string ResetPassword (string username, string passwordAnswer);
override this.ResetPassword : string * string -> string
Public Overrides Function ResetPassword (username As String, passwordAnswer As String) As String

매개 변수

username
String

암호를 재설정할 사용자입니다.

passwordAnswer
String

지정한 사용자의 암호 대답입니다.

반환

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

예외

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

EnablePasswordReset 속성 값이 false일 경우

passwordAnswer이(가) null인 경우

또는

username이(가) null인 경우

잘라낸 다음 passwordAnswer가 비어 있는 경우

또는

passwordAnswer이 128자를 초과하는 경우

또는

username이 비어 있거나 사용자 이름의 최대 허용 길이(대개 256자)를 초과하는 경우

또는

username에 쉼표가 포함된 경우

또는

사용자 이름이 userPrincipalName에 매핑되지만 username 매개 변수에 백슬래시가 포함된 경우

허용된 로그온 실패 횟수 또는 암호 대답 재설정 시도 횟수를 초과하여 계정이 잠긴 경우

또는

저장된 암호 대답이 passwordAnswer와 일치하지 않는 경우

username에 지정된 사용자가 Active Directory 데이터 저장소에 없는 경우

또는

생성된 암호가 사용자 지정 유효성 검사 처리기를 전달하지 않는 경우

또는

생성된 암호가 Active Directory 서버에 설정된 사용자 지정 암호 정책의 복잡성 요건을 충족하지 못하는 경우

또는

새 암호를 설정하기 위한 보안 연결을 Active Directory 애플리케이션 모드 서버에 만들 수 없는 경우

처리되지 않은 예외가 발생했습니다.

설명

메서드는 Active Directory 데이터 저장소에 있는 사용자의 암호를 임의 Membership 로 생성된 새 값으로 다시 설정하기 위해 클래스에서 호출됩니다. 새 암호가 반환됩니다.

참고

메서드에서 만든 임의의 암호는 속성의 ResetPassword 정규식을 PasswordStrengthRegularExpression 전달하도록 보장되지 않습니다. 그러나 임의 암호는 및 MinRequiredNonAlphanumericCharacters 속성에 의해 MinRequiredPasswordLength 설정된 조건을 충족합니다.

메서드에 잘못된 답변이 제공 ResetPassword 되면 잘못된 암호 응답 시도를 추적하는 내부 카운터가 하나씩 증가합니다. 이로 인해 메서드를 호출하여 잠금 상태가 지워질 때까지 사용자가 로그온할 UnlockUser 수 없게 될 수 있습니다. 올바른 암호 응답이 제공되고 사용자가 현재 잠겨 있지 않으면 잘못된 암호 시도를 추적하는 내부 카운터가 0으로 다시 설정됩니다. 자세한 내용은 MaxInvalidPasswordAttemptsPasswordAttemptWindow 속성을 참조하세요.

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

먼저 속성에서 Membership.Provider 인스턴스에 ResetPassword 대한 참조를 가져와서 메서드를 ActiveDirectoryMembershipProvider 직접 호출할 수 있습니다.

공급자는 연결 문자열에 지정된 검색 지점에서 시작하는 하위 트리 검색을 사용합니다. 연결 문자열에 ActiveDirectoryMembershipProvider 대한 자세한 내용은 클래스 항목을 참조하세요.

Active Directory 서버 connectionProtection 에서 암호를 설정하려면 특성을 로 설정 SignAndSeal해야 합니다.

ADAM 서버를 사용하는 경우 특성은 connectionProtection 로 설정할 None수 있지만 보안되지 않은 연결에 대한 암호 변경을 허용하도록 ADAM 서버를 명시적으로 구성하는 경우에만 설정할 수 있습니다.

중요

Active Directory 서버에 연결하는 데 사용되는 자격 증명에 도메인 관리자 권한(권장되지 않음) 또는 "암호 재설정" 액세스 권한이 없는 한 암호를 다시 설정할 수 없습니다.

암호를 다시 설정하려면 다음 조건이 모두 true여야 합니다.

  • 이 옵션을 사용하는 경우 EnablePasswordReset 속성은 true로 설정해야 합니다.

  • 암호 질문 및 답변을 저장하기 위한 특성과 암호 응답 변경에 대한 세 가지 추적 필드를 포함하도록 Active Directory 스키마를 수정해야 합니다.

  • 합니다 attributeMapPasswordQuestion, attributeMapPasswordAnswerattributeMapFailedPasswordAnswerCount, attributeMapFailedPasswordAnswerTime, 및 attributeMapFailedPasswordAnswerLockedTime 애플리케이션 구성 파일에서 특성을 설정 해야 합니다.

  • 이 옵션을 사용하는 경우 RequiresQuestionAndAnswer 속성은 true로 설정해야 합니다.

  • Active Directory 데이터 저장소(프로세스 계정 또는 명시적 자격 증명)에 연결하기 위한 보안 컨텍스트에는 암호를 변경할 수 있는 충분한 권한이 있어야 합니다. Active Directory 서버에 연결하는 데 사용되는 자격 증명에는 도메인 관리자 권한(권장되지 않음) 또는 "암호 재설정" 액세스 권한이 있습니다.

참고

Active Directory 서버에 설정된 보안 정책으로는 메서드가 ResetPassword 정책을 충족하는 암호를 생성할 수 없게 될 수 있습니다. 메서드의 GeneratePassword 기본 구현은 Windows Server 2003 SP1을 실행하는 도메인 컨트롤러에서 기본 암호 정책을 충족하는 암호를 생성합니다. Active Directory 서버의 보안 정책으로 인해 암호를 재설정할 수 없는 경우 가 ProviderException throw됩니다.

적용 대상

추가 정보