authentication 요소에 대한 forms 요소(ASP.NET 설정 스키마)

사용자 지정 폼 기반 인증을 위해 ASP.NET 응용 프로그램을 구성합니다.

<forms 
   name="name" 
   loginUrl="URL" 
   defaultUrl="URL"
   protection="[All|None|Encryption|Validation]"
   timeout="[MM]"
   path="path"
   requireSSL="[true|false]"
   slidingExpiration="[true|false]">
   enableCrossAppRedirects="[true|false]"
   cookieless="[UseUri|UseCookies|AutoDetect|UseDeviceProfile]" 
   domain="domain name"
   ticketCompatibilityMode="[Framework20|Framework40]">
   <credentials>...</credentials>
</forms>

특성 및 요소

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

특성

특성

설명

cookieless

선택적 특성입니다.

쿠키의 사용 여부 및 동작을 정의합니다.

이 특성은 다음 값 중 하나일 수 있습니다.

참고참고
AJAX 지원 ASP.NET 웹 사이트에서는 cookieless 특성에 기본값 UseCookies을 사용하십시오.URL로 인코딩된 쿠키를 사용하는 설정은 ASP.NET AJAX 클라이언트 스크립트 라이브러리에서 지원되지 않습니다.
값설명
UseCookies 장치에 관계없이 쿠키가 항상 사용됨을 지정합니다.
UseUri 쿠키가 사용되지 않음을 지정합니다.
AutoDetect 장치 프로필에서 쿠키를 지원하면 쿠키가 사용되고, 그렇지 않으면 쿠키가 사용되지 않습니다.쿠키를 지원하는 데스크톱 브라우저의 경우 이 값이 설정되어 있으면 쿠키를 사용할 때 검색 메커니즘이 사용됩니다.장치에서 쿠키를 지원하지 않으면 검색 메커니즘이 사용되지 않습니다.
UseDeviceProfile 브라우저에서 쿠키를 지원하면 쿠키가 사용되고, 그렇지 않으면 쿠키가 사용되지 않습니다. 쿠키를 지원하는 장치의 경우에는 쿠키 지원 여부를 별도로 확인하지 않습니다.

이 특성은 .NET Framework 버전 2.0에서 새로 도입되었습니다.

기본값은 UseDeviceProfile.입니다.

defaultUrl

선택적 특성입니다.

인증 후 리디렉션에 사용되는 기본 URL을 정의합니다.

이 특성은 .NET Framework 버전 2.0에서 새로 도입되었습니다.

기본값은 "default.aspx"입니다.

domain

선택적 특성입니다.

보내는 폼 인증 쿠키에 설정할 선택적 도메인을 지정합니다. 이 설정은 httpCookies 요소에 사용되는 도메인보다 우선합니다.

이 특성은 .NET Framework 버전 2.0에서 새로 도입되었습니다.

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

enableCrossAppRedirects

선택적 특성입니다.

인증된 사용자를 다른 웹 응용 프로그램의 URL로 리디렉션하는지 여부를 나타냅니다.

참고참고
응용 프로그램 간에 리디렉션을 수행하는 경우에는 authentication 요소에 대한 forms 요소(ASP.NET 설정 스키마)에 있는 일부 특성이 인증된 응용 프로그램 간에 복제되어야 합니다.자세한 내용과 예제는 응용 프로그램 간 폼 인증을 참조하십시오.

이 특성은 다음 값 중 하나일 수 있습니다.

값설명
True 인증된 사용자를 다른 웹 응용 프로그램의 URL로 리디렉션할 수 있음을 지정합니다.
False 인증된 사용자를 다른 웹 응용 프로그램의 URL로 리디렉션할 수 없음을 지정합니다.

이 특성은 .NET Framework 버전 2.0에서 새로 도입되었습니다.

기본값은 False입니다.

loginUrl

선택적 특성입니다.

유효한 인증 쿠키가 없을 때 로그온하기 위해 요청을 리디렉션할 URL을 지정합니다.

기본값은 login.aspx입니다.

name

선택적 특성입니다.

인증에 사용할 HTTP 쿠키를 지정합니다. 여러 응용 프로그램이 단일 서버에서 실행되고 각 응용 프로그램에 고유한 쿠키가 필요하면 각 응용 프로그램의 Web.config 파일에 쿠키 이름을 구성해야 합니다.

기본값은 ".ASPXAUTH"입니다.

path

선택적 특성입니다.

응용 프로그램에서 발급한 쿠키의 경로를 지정합니다.

기본값은 슬래시(/)입니다. 대부분의 브라우저는 대/소문자를 구분하므로 경로의 대/소문자가 일치하지 않으면 쿠키를 다시 보내지 않습니다.

protection

선택적 특성입니다.

쿠키에 사용되는 암호화(있는 경우) 유형을 지정합니다.

이 특성은 다음 값 중 하나일 수 있습니다.

값설명
All 응용 프로그램이 데이터 유효성 검사 및 암호화를 모두 사용하여 쿠키를 보호하도록 지정합니다.이 옵션은 machineKey 요소를 기반으로 하는 구성된 데이터 유효성 검사 알고리즘을 사용합니다.3DES(Triple-DES)를 사용할 수 있고 키가 48바이트 이상이면 3DES가 암호화에 사용됩니다.All은 기본값이며 권장 값이기도 합니다.
Encryption 3DES 또는 DES를 사용하여 쿠키를 암호화하지만 쿠키에서 데이터 유효성 검사를 수행하지 않도록 지정합니다.이런 식으로 사용된 쿠키는 일반 텍스트 공격을 받을 수 있습니다.
None 개인 설정 정보를 제공할 경우에만 쿠키를 사용하고 보안 요구 사항이 낮은 사이트에 대해서는 암호화와 유효성 검사를 모두 해제하도록 지정합니다.이런 식으로 쿠키를 사용하면 안 되지만 이 방법은 .NET Framework에서 개인 설정을 활성화할 때 리소스가 가장 적게 소모됩니다.
Validation 유효성 검사 체계에서 암호화된 쿠키의 내용이 전송 중에 변경되지 않았음을 증명하도록 지정합니다.쿠키는 쿠키 데이터와 유효성 검사 키를 연결하고, MAC(메시지 인증 코드)를 계산한 후, 보내는 쿠키에 이 MAC를 추가하는 쿠키 유효성 검사 과정을 통해 만들어집니다.

기본값은 All입니다.

requireSSL

선택적 특성입니다.

인증 쿠키를 전송하는 데 SSL 연결이 필요한지 여부를 지정합니다.

이 특성은 다음 값 중 하나일 수 있습니다.

값설명
True 사용자 자격 증명을 보호하는 데 SSL 연결이 필요한지 여부를 지정합니다.True이면 ASP.NET에서는 인증 쿠키에 대해 Secure 속성을 설정하고, SSL을 사용하여 연결하는 경우에만 호환 브라우저에서 해당 쿠키를 반환합니다.
False 쿠키를 전송하는 데 SSL 연결이 필요하지 않다고 지정합니다.기본값은 False입니다.

기본값은 False입니다.

slidingExpiration

선택적 특성입니다.

상대(sliding) 만료의 설정 여부를 지정합니다. 상대(sliding) 만료는 단일 세션 동안 각 요청에 대해 쿠키가 만료하도록 활성 인증 시간을 다시 설정합니다.

이 특성은 다음 값 중 하나일 수 있습니다.

값설명
True 상대(sliding) 만료를 사용하도록 지정합니다.인증 쿠키는 새로 고쳐지며 단일 세션 동안의 후속 요청에 대해 만료 시간이 다시 설정됩니다.
False 상대(sliding) 만료를 사용하지 않고 처음에 쿠키가 발급된 시점에서 특정 간격 후에 쿠키가 만료되도록 지정합니다.

기본값은 True입니다.

ticketCompatibilityMode

선택적 특성입니다.

폼 인증을 위한 티켓 만료 날짜에 UTC(협정 세계시)를 사용할지 또는 현지 시간을 사용할지 지정합니다.

이 특성은 다음 값 중 하나일 수 있습니다.

값설명
Framework20 티켓 만료 날짜가 현지 시간을 사용하여 저장되도록 지정합니다.
Framework40 티켓 만료 날짜가 UTC를 사용하여 저장되도록 지정합니다.

기본값은 Framework20입니다.

timeout

선택적 특성입니다.

쿠키가 만료될 때까지의 시간(분)을 정수 단위로 지정합니다. SlidingExpiration 특성이 true이면 timeout 특성은 가변 값이 되며 마지막 요청을 받은 후 지정된 시간(분)이 경과하면 만료됩니다. 성능 저하를 방지하고 쿠키 경고가 설정된 사용자에게 여러 개의 브라우저 경고가 나타나지 않도록 하기 위해 지정된 시간에서 50%가 경과하면 쿠키가 업데이트됩니다. 이로 인해 정밀도가 떨어질 수 있습니다. 기본값은 "30"(30분)입니다.

참고참고
ASP.NET V1.1에서는 timeout 특성 설정에 관계없이 영구 쿠키가 만료되지 않습니다.그러나 ASP.NET V2.0에서는 timeout 특성에 따라 영구 쿠키가 만료됩니다.

자식 요소

하위 태그

설명

credentials

구성 파일 내에서 필요에 따라 이름과 암호 자격 증명을 정의할 수 있습니다. 데이터베이스와 같은 외부 소스를 사용하여 유효성 검사를 제어하기 위한 사용자 지정 암호 체계를 구현할 수도 있습니다.

부모 요소

요소

설명

configuration

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

system.web

구성 파일에서 ASP.NET 구성 설정에 대한 루트 요소를 지정하며, ASP.NET 웹 응용 프로그램을 구성하고 응용 프로그램의 동작 방식을 제어하는 구성 요소를 포함합니다.

authentication

ASP.NET 응용 프로그램을 보는 사용자를 식별하는 데 사용되는 ASP.NET 인증 체계를 구성합니다.

설명

forms 요소는 사용자 지정 폼 기반 인증을 위해 ASP.NET 응용 프로그램을 구성합니다. 여러 응용 프로그램이 한 대의 서버에서 실행 중이면 Web.config 파일에서 각 응용 프로그램에 대해 forms 요소의 특성을 구성해야 합니다. 자세한 내용은 응용 프로그램 간 폼 인증을 참조하십시오.

URI를 사용하여 폼 인증 티켓을 보내는 경우 최대 URI 크기를 초과할 수 있습니다. 익명 ID 티켓, 폼 인증 티켓, 세션 ID 및 사용자 데이터의 조합이 허용 가능한 최대 URI 길이보다 큰 경우에는 400-잘못된 요청 오류와 함께 요청이 실패합니다.

기본 구성

다음의 기본 forms 요소는 Machine.config 파일 또는 루트 Web.config 파일에 명시적으로 구성되어 있지 않습니다. 그러나 이 요소는 .NET Framework 버전 2.0의 응용 프로그램에서 반환하는 기본 구성입니다.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   defaultUrl="default.aspx" 
   protection="All" 
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true" 
   cookieless="UseDeviceProfile" domain="" 
   enableCrossAppRedirects="false">
   <credentials passwordFormat="SHA1" />
</forms>

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

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true">
   <credentials passwordFormat="SHA1"></credentials>
</forms>

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

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" >
   <credentials passwordFormat="SHA1"></credentials>
</forms>

예제

다음 코드 예제에서는 폼 기반 인증을 위해 사이트를 구성하고, 클라이언트에서 로그온 정보를 전송하는 쿠키의 이름을 지정하고, 초기 인증이 실패할 경우에 사용할 로그온 페이지의 이름을 지정하는 방법을 보여 줍니다.

<configuration>
   <system.web>
   <authentication mode="Forms">
      <forms 
      name="401kApp" 
      loginUrl="/login.aspx"
      cookieless="AutoDetect"
      defaultUrl="myCustomLogin.aspx">
      <credentials passwordFormat = "SHA1">   
         <user name="UserName" 
         password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
      </credentials>   
      </forms>
   </authentication>
   </system.web>
</configuration>

요소 정보

구성 섹션 처리기

AuthenticationSection

구성 멤버

FormsAuthentication

FormsAuthenticationConfiguration

구성 가능한 위치

Machine.config

루트 수준의 Web.config

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

요구 사항

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

.NET Framework 버전 1.0, 1.1 또는 2.0

Microsoft Visual Studio 2003 또는 Visual Studio 2005

참고 항목

작업

방법: 위치 설정을 사용하여 특정 디렉터리 구성

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

참조

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

authentication 요소의 forms 요소에 대한 credentials 요소(ASP.NET 설정 스키마)

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

authentication 요소에 대한 passport 요소(ASP.NET 설정 스키마)

configuration 요소(일반 설정 스키마)

System.Configuration

System.Web.Configuration

AuthenticationSection

FormsAuthentication

개념

응용 프로그램 간 폼 인증

ASP.NET 구성 파일 계층 구조 및 상속

ASP.NET 구성 보안

ASP.NET 구성 시나리오

기타 리소스

ASP.NET 인증

일반 구성 설정(ASP.NET)

ASP.NET 구성 설정

ASP.NET 웹 사이트 관리

ASP.NET 구성 파일

ASP.NET 구성 API