다음을 통해 공유


ActiveDirectoryMembershipProvider.GetUserNameByEmail(String) 메서드

정의

지정된 이메일 주소와 연결된 사용자 이름을 가져옵니다.

public:
 override System::String ^ GetUserNameByEmail(System::String ^ email);
public override string GetUserNameByEmail (string email);
override this.GetUserNameByEmail : string -> string
Public Overrides Function GetUserNameByEmail (email As String) As String

매개 변수

email
String

검색할 전자 메일 주소입니다.

반환

지정된 이메일 주소와 연결된 사용자 이름입니다.

예외

email이 256자를 초과하는 경우

또는

잘라낸 다음 email이 비어 있는 경우

동일한 이메일 주소를 가진 사용자가 데이터 저장소에 두 명 이상 있고 RequiresUniqueEmail 속성 값이 true인 경우

공급자가 초기화되지 않은 경우

설명

이 메서드는 사용자의 이메일 주소를 기반으로 Active Directory 데이터 저장소에서 사용자 이름을 검색하기 위해 클래스에서 호출 Membership 됩니다.

멤버 자격 데이터 저장소에 있는 두 명 이상의 사용자가 동일한 전자 메일 주소를 가지고 있으면 첫 번째 사용자 이름이 반환됩니다. 멤버 자격 요소(ASP.NET 설정 스키마) 요소 true 의 특성을 애플리케이션 구성 파일에서 로 설정 requiresUniqueEmail 하여 데이터베이스의 각 이메일 주소가 고유하도록 할 수 있습니다.

email 매개 변수 값에서 선행 및 후행 공백이 트리밍됩니다. 트리밍 후 전자 메일 주소가 비어 있으면 이 ArgumentException throw됩니다. 이메일 주소가 null이면 Active Directory 데이터 저장소의 모든 사용자 이름이 검색되고 첫 번째 사용자 이름이 반환됩니다.

클래스에서 발급 ActiveDirectoryMembershipProvider 한 검색 쿼리가 디렉터리 서버의 성능에 부정적인 영향을 미치지 않는지 확인할 때까지 프로덕션 시스템에서 검색을 사용하도록 설정하지 않는 것이 좋습니다.

중요

메서드는 GetUserNameByEmail 속성false이 인 EnableSearchMethods 경우에도 실행됩니다.

클래스는 ActiveDirectoryMembershipProvider 상태 비저장 웹 환경을 위해 설계되었으므로 기본 API에서 노출하는 페이징 최적화를 System.DirectoryServices 사용할 수 없습니다. 즉, 큰 디렉터리에 대한 검색 중에 페이징 작업은 매우 비용이 많이 들며 피해야 합니다. 검색 작업은 항상 연결 문자열에 구성된 디렉터리 서버 또는 도메인을 가리키는 연결 문자열의 경우 자동으로 선택된 서버에 대해 실행됩니다. 공급자는 검색 방법에 전역 카탈로그를 사용하지 않습니다.

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

적용 대상

추가 정보