다음을 통해 공유


membership 요소의 providers 요소에 대한 add 요소(ASP.NET 설정 스키마)

업데이트: 2007년 11월

멤버 자격 공급자 컬렉션에 멤버 자격 공급자 인스턴스를 추가합니다.

이 요소는 .NET Framework 버전 2.0에서 새로 도입되었습니다.

<configuration> 요소
  system.web 요소(ASP.NET 설정 스키마)
    membership 요소(ASP.NET 설정 스키마)
      membership 요소에 대한 providers 요소(ASP.NET 설정 스키마)
        membership 요소의 providers 요소에 대한 add 요소(ASP.NET 설정 스키마)

<!-- SqlMembershipProvider syntax -->
<add name="string" 
     type="string" 
     connectionStringName="string"
     applicationName="MyApplication"
     commandTimeout
     description
     enablePasswordRetrieval="false"
     enablePasswordReset="true"
     requiresQuestionAndAnswer="true"
     requiresUniqueEmail="false"
     passwordFormat="Hashed"
     maxInvalidPasswordAttempts="5"
     passwordAttemptWindow="10"
     minRequiredPasswordLength
     minRequiredNonalphanumericCharacters
     passwordStrengthRegularExpression
/>
<!-- ActiveDirectoryMembershipProvider syntax -->
<add 
    name="string" 
    type="string" 
    applicationName
    attributeMapUsername="string" 
    attrbuteMapEmail="string" 
    attributeMapPasswordQuestion="string" 
    attributeMapPasswordAnswer="string" 
    attributeMapFailedPasswordAnswerCount="number" 
    attributeMapFailedPasswordAnswerTime="interval" 
    attributeMapFailedPasswordAnswerLockoutTime="interval" 
    clientSearchTimeout="interval"   
    serverSearchTimeout
    connectionUsername="string" 
    connectionPassword="string" 
    connectionProtection="string" 
    connectionStringName="connection string identifier" 
    enablePasswordReset="true|false" 
    enablePasswordRetrieval="true|false" 
    enableSearchMethods="true|false" 
    requiresQuestionAndAnswer="true|false" 
    maxInvalidPasswordAttempts="number" 
    passwordAttemptWindow="number" 
    commandTimeout="number" 
    description="string" 
    passwordAnswerAttemptLockoutDuration="interval" 
    minRequiredPasswordLength
    minRequiredNonalphanumericCharacters
    passwordStregnthRegularExpression="string" 
    passwordAnswerAttemptLockoutDuration="number" 
    requiresUniqueEmail="true|false" 
/>

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성

설명

applicationName

선택적 String 특성입니다.

데이터 소스에서 멤버 자격 데이터가 저장되는 응용 프로그램의 이름을 지정합니다. 응용 프로그램 이름을 사용하면 다른 응용 프로그램을 사용할 때마다 중복 사용자 이름이 나타나는 일 없이 여러 ASP.NET 응용 프로그램에서 동일한 데이터베이스를 사용할 수 있습니다. 또는 동일한 응용 프로그램 이름을 지정하여 여러 ASP.NET 응용 프로그램에서 동일한 멤버 자격 정보를 사용할 수 있습니다.

applicationName 특성을 지정하지 않으면 .NET Framework에 포함된 멤버 자격 공급자는 ApplicationName 속성에 대해 ApplicationVirtualPath 값을 사용합니다.

Active Directory 공급자에 대해 이 특성을 지정할 수 있지만 공급자는 이 값을 무시합니다.

attributeMapUsername

ActiveDirectoryMembershipProvider 특성에만 적용됩니다.

선택적 String 특성입니다.

MembershipUser 개체의 UserName 속성을 디렉터리의 UserName 특성으로 연결하는 매핑을 정의하는 데 사용됩니다.

기본값은 userPrincipalName입니다.

attributeMapEmail

ActiveDirectoryMembershipProvider 특성에만 적용됩니다.

선택적 String 특성입니다.

MembershipUser 개체의 Email 속성을 디렉터리의 Email 특성으로 연결하는 매핑을 정의하는 데 사용됩니다.

기본값은 "mail"입니다.

attributeMapPasswordQuestion

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 String 특성입니다.

MembershipUser 개체의 PasswordQuestion 속성을 디렉터리의 특성으로 연결하는 매핑을 정의하는 데 사용됩니다.

기본값이 정의되어 있지 않습니다. 따라서 암호 질문과 대답 기능을 사용하려면 관리자가 이 특성을 명시적으로 구성해야 합니다.

attributeMapPasswordAnswer

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 String 특성입니다.

사용자의 암호 대답을 디렉터리의 특성으로 연결하는 매핑을 정의하는 데 사용됩니다.

기본값이 정의되어 있지 않습니다. 따라서 암호 질문과 대답 기능을 사용하려면 관리자가 이 특성을 명시적으로 구성해야 합니다.

attributeMapFailedPasswordAnswerCount

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 Int32 특성입니다.

디렉터리에서 실패한 암호 대답 시도를 추적하는 특성을 정의하는 데 사용됩니다.

기본값이 정의되어 있지 않습니다. 따라서 암호 질문과 대답 기능을 사용하려면 관리자가 이 특성을 명시적으로 구성해야 합니다.

attributeMapFailedPasswordAnswerTime

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 Interval 특성입니다.

MembershipUser 개체의 속성을 디렉터리의 특성으로 연결하는 매핑을 정의하는 데 사용됩니다.

기본값이 정의되어 있지 않습니다. 따라서 관리자가 특성을 클래스 속성에 명시적으로 매핑하지 않으면 해당 속성과 연결된 기능에서 값을 설정하거나 가져오지 않습니다. 이런 경우에는 공급자에서 기본 동작이 구현됩니다.

attributeMapFailedPasswordAnswerLockoutTime

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 Interval 특성입니다.

디렉터리에서 잘못된 암호 대답 시도 횟수가 너무 많아서 사용자 계정이 잠긴 시기를 저장하는 특성을 정의하는 데 사용됩니다.

기본값이 정의되어 있지 않습니다. 따라서 암호 질문과 대답 기능을 사용하려면 관리자가 이 특성을 명시적으로 구성해야 합니다.

clientSearchTimeout

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 Int32 특성입니다.

클라이언트측에서 관리자가 LDAP 쿼리 제한 시간을 지정할 수 있도록 합니다. 디렉터리에서 쿼리 페이징 작업을 수행할 때 클라이언트 및 서버 검색 제한 시간을 사용하는 방법에 대한 내용은 Active Directory 공급자의 검색 메서드 설명서를 참조하십시오.

serverSearchTimeout

서버측에서 관리자가 LDAP 쿼리 제한 시간을 지정할 수 있도록 합니다. 디렉터리에서 쿼리 페이징 작업을 수행할 때 클라이언트 및 서버 검색 제한 시간을 사용하는 방법에 대한 내용은 Active Directory 공급자의 검색 메서드 설명서를 참조하십시오.

commandTimeout

SQL 공급자에만 적용됩니다.

선택적 Int32 특성입니다.

멤버 자격 데이터 소스에 대해 실행되는 명령이 시간 초과되기 전의 시간(초)을 지정합니다. 이 제한 시간은 SQL 공급자가 SqlCommand 개체를 만들 때 사용됩니다. 이 특성은 ASP.NET 구성에 기본적으로 설정되어 있지 않으므로 ADO.NET 기본값인 30초가 사용됩니다. 이 특성을 설정하면 SQL 공급자는 데이터베이스에 대해 실행되는 모든 SQL 명령에 해당 제한 시간 값을 사용합니다.

기본값은 30(ADO.NET 기본값)입니다.

connectionStringName

필수 String 특성입니다.

<connectionStrings> 요소에 정의된 연결 문자열의 이름을 지정합니다. 지정된 연결 문자열은 추가되는 공급자에 사용됩니다.

connectionUsername

ActiveDirectoryMembershipProvider 특성에만 적용됩니다.

선택적 String 특성입니다.

디렉터리에 연결할 때 인증을 위해 사용되는 사용자 이름을 정의합니다. 이 특성을 지정하면 connectionPassword 특성도 지정해야 합니다.

공급자가 디렉터리에 연결할 때 적용되는 프로세스 계정 또는 응용 프로그램 가장 자격 증명 대신 사용됩니다.

connectionPassword

ActiveDirectoryMembershipProvider 특성에만 적용됩니다.

선택적 String 특성입니다.

디렉터리에 연결할 때 인증을 위해 사용되는 암호를 정의합니다. 이 특성을 지정하면 connectionUsername 특성도 지정해야 합니다.

공급자가 디렉터리에 연결할 때 적용되는 프로세스 계정 또는 응용 프로그램 가장 자격 증명 대신 사용됩니다.

connectionProtection

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 String 특성입니다.

디렉터리에 대한 연결을 설정할 때 사용할 전송 계층 보안 옵션을 정의합니다. 이 특성은 Secure 또는 None 값이 될 수 있습니다.

Secure로 설정하면 공급자는 해당 공급자가 연결하는 디렉터리 형식에 따라 사용 가능한 가장 높은 수준의 연결 보안을 자동으로 선택합니다. 다음과 같은 순서와 방식으로 보호 수준이 결정됩니다.

  1. SSL

    SSL은 Active Directory와 Active Directory 응용 프로그램 모드에 모두 사용됩니다(Ssl 값).

  2. SSL을 사용할 수 없는 경우 공급자가 Active Directory 또는 도메인에 가입한 Active Directory 응용 프로그램 모드 인스턴스에 연결 중이면 암호화/서명/봉인 기능이 사용됩니다(SignAndSeal 값).

  3. SSL과 암호화/서명/봉인 기능을 모두 사용할 수 없는 경우 공급자는 구성된 디렉터리에 대해 암호화된 채널을 자동으로 선택할 수 없음을 알려 주는 ProviderException 예외를 throw합니다.

None으로 설정하면 명시적 자격 증명이 필요합니다. connectionUsername 및 connectionPassword 특성을 제공하지 않으면 연결 보호에 None을 사용하는 경우 기본적으로 프로세스 자격 증명이 사용되지 않음을 알려 주는 ProviderException 예외가 throw됩니다.

description

선택적 String 특성입니다.

멤버 자격 공급자 인스턴스에 대한 설명을 지정합니다.

enablePasswordRetrieval

선택적 Boolean 특성입니다.

멤버 자격 공급자 인스턴스에서 암호 찾기를 지원하는지 여부를 지정합니다. 멤버 자격 공급자 인스턴스에서 암호 찾기를 지원하면 true입니다.

기본값은 SQL 공급자와 Active Directory 공급자 모두에 대해 false입니다.

ActiveDirectoryMembershipProvider의 구성 파일에서 enablePasswordRetrieval을 true로 설정할 수 없습니다. 이 공급자는 암호를 검색할 수 없습니다.

enablePasswordReset

선택적 Boolean 특성입니다.

멤버 자격 공급자 인스턴스에서 암호 다시 설정을 지원하는지 여부를 지정합니다. 멤버 자격 공급자 인스턴스에서 암호 다시 설정을 지원하면 true입니다.

기본값은 SQL 공급자의 경우 true이고 Active Directory 공급자의 경우 false입니다.

enableSearchMethods

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 Boolean 특성입니다.

검색 지향 ActiveDirectoryMembershipProvider 메서드를 사용할 수 있는지 여부를 지정합니다. true이면 검색 지향 ActiveDirectoryMembershipProvider 메서드를 사용할 수 있습니다.

기본값은 false입니다.

maxInvalidPasswordAttempts

선택적 Int32 특성입니다.

허용되는 잘못된 암호 또는 암호 대답 시도 횟수를 지정합니다. 잘못된 암호 대답 시도 횟수가 구성된 값과 일치하면 해당 멤버 자격 사용자가 잠깁니다.

기본값은 5입니다. .

Active Directory 공급자의 경우 이 특성은 잘못된 암호 대답 시도 횟수만 제어합니다. 디렉터리 엔진 자체에서 암호 잠금을 처리합니다.

minRequiredNonalphanumericCharacters

선택적 Int32 특성입니다.

유효한 암호에 포함해야 할 최소 특수 문자 수를 지정합니다. 이 특성은 0보다 작거나 128 또는 minRequiredPasswordLength 값보다 큰 값으로 설정할 수 없습니다.

기본값은 1입니다.

minRequiredPasswordLength

선택적 Int32 특성입니다.

암호에 필요한 최소 문자 수를 지정합니다. 이 특성은 0보다 작거나 128(SQL 공급자의 인코딩되지 않은 최대 암호 길이)보다 큰 값으로 설정할 수 없습니다.

기본값은 1입니다.

name

필수 String 특성입니다.

공급자 인스턴스의 이름을 지정합니다. 이 값은 공급자 인스턴스를 기본 멤버 자격 공급자로 식별하기 위해 membership 요소의 defaultProvider 특성에 사용됩니다. 공급자의 name은 Providers 컬렉션에서 공급자의 인덱스를 만드는 데도 사용됩니다.

passwordAnswerAttemptLockoutDuration

ActiveDirectoryMembershipProvider에만 적용됩니다.

선택적 Int32 특성입니다.

잘못된 암호 대답 시도 횟수가 너무 많아서 사용자 계정이 잠기는 시간(분)을 지정합니다.

기본값은 30분입니다.

passwordAttemptWindow

선택적 Int32 특성입니다.

실패한 암호 대답 시도 횟수를 추적하는 시간(분)입니다. 잘못된 암호를 입력할 때마다 창이 다시 설정됩니다. 허용되는 잘못된 암호 또는 암호 대답 시도 횟수의 최대값에 도달하면 멤버 자격 사용자가 잠깁니다.

기본값은 10입니다.

passwordFormat

SQL 공급자에만 적용됩니다.

선택적 String 특성입니다.

멤버 자격 데이터 저장소에 암호를 저장하는 데 사용할 형식을 나타내는 MembershipPasswordFormat 값 중 하나입니다.

기본값은 Hashed입니다.

passwordStrengthRegularExpression

SqlMembershipProvider에만 적용됩니다.

선택적 String 특성입니다.

암호를 확인하는 데 사용되는 정규식을 지정합니다. 이 특성은 Regex 클래스에서 사용되는 정규식이어야 합니다.

기본값은 빈 문자열("")입니다.

requiresQuestionAndAnswer

선택적 Boolean 특성입니다.

멤버 자격 공급자 인스턴스에서 암호를 다시 설정하거나 찾기 위해 암호 대답이 필요한지 여부를 지정합니다. true이면 멤버 자격 공급자 인스턴스에서 암호를 다시 설정하거나 찾기 위해 암호 대답이 필요합니다.

기본값은 SQL 공급자의 경우 true이고 Active Directory 공급자의 경우 false입니다.

requiresUniqueEmail

선택적 Boolean 특성입니다.

Active Directory를 실행하는 서버에 저장된 전자 메일 주소가 고유해야 하는지 여부를 지정합니다. true이면 멤버 자격 공급자 인스턴스에 고유한 전자 메일 주소가 필요합니다.

기본값은 SQL 공급자의 경우 true이고 Active Directory 공급자의 경우 false입니다.

type

필수 String 특성입니다.

MembershipProvider 추상 기본 클래스를 상속하는 사용자 지정 멤버 자격 공급자의 형식을 지정합니다.

자식 요소

없음

부모 요소

요소

설명

configuration

공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 루트 요소를 지정합니다.

system.web

ASP.NET 구성 섹션의 루트 요소를 지정합니다.

membership

ASP.NET 멤버 자격에 대한 응용 프로그램을 구성합니다.

providers

ASP.NET 멤버 자격에 대한 멤버 자격 공급자의 컬렉션을 정의합니다.

설명

Active Directory 멤버 자격 공급자를 구성하는 방법에 대한 자세한 내용은 ActiveDirectoryMembershipProvider를 참조하십시오.

기본 구성

다음의 기본 add 요소는 .NET Framework 버전 2.0의 Machine.config 파일에 구성되어 있습니다.

  <providers>
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
  </providers>

예제

다음 코드 예제에서는 사용자 정보를 저장하고 검색하기 위해 ASP.NET 응용 프로그램을 구성하는 방법을 보여 줍니다. 첫 번째 예제에서는 SQLMembershipProvider를 사용하도록 구성된 ASP.NET 응용 프로그램을 보여 줍니다.

<membership defaultProvider="SqlProvider"
            userIsOnlineTimeWindow="20">
    <providers>
        <add name="SqlProvider"
             type="System.Web.Security.SqlMembershipProvider"
             connectionStringName="SqlServices"
             enablePasswordRetrieval="false"
             enablePasswordReset="true"
             requiresQuestionAndAnswer="true"
             passwordFormat="Hashed"
             applicationName="/" />
    </providers>
</membership>

요소 정보

구성 섹션 처리기

System.Web.Configuration.MembershipSection

구성 멤버

MembershipSection.Providers

구성 가능한 위치

Machine.config

루트 수준의 Web.config

응용 프로그램 수준의 Web.config

요구 사항

Microsoft IIS(인터넷 정보 서비스) 버전 5.0, 5.1 또는 6.0

.NET Framework 버전 2.0

Microsoft Visual Studio 2005

참고 항목

작업

방법: ASP.NET 구성 설정 잠금

개념

ASP.NET 구성 개요

ASP.NET 웹 서버 컨트롤 및 브라우저 기능

ASP.NET 구성 보안

ASP.NET 구성 시나리오

참조

membership 요소에 대한 providers 요소(ASP.NET 설정 스키마)

system.web 요소(ASP.NET 설정 스키마)

<configuration> 요소

membership 요소의 providers 요소에 대한 remove 요소(ASP.NET 설정 스키마)

membership 요소의 providers 요소에 대한 clear 요소(ASP.NET 설정 스키마)

ActiveDirectoryMembershipProvider

System.Configuration

System.Web.Configuration

기타 리소스

멤버 자격을 사용하여 사용자 관리

ASP.NET 구성 파일

ASP.NET 구성 설정

일반 구성 설정(ASP.NET)

ASP.NET 구성 API