다음을 통해 공유


FormsAuthenticationConfiguration 클래스

ASP.NET 애플리케이션에 대한 Forms 인증을 구성합니다.

구문

class FormsAuthenticationConfiguration : EmbeddedObject  

메서드

이 클래스에는 메서드가 없습니다.

속성

다음 표에서는 클래스에서 노출하는 속성을 나열합니다 FormsAuthenticationConfiguration .

Name 설명
Cookieless Forms 인증에서 쿠키를 사용해야 하는지 여부를 지정하는 읽기/쓰기 sint32 열거형입니다. 가능한 값은 설명 섹션의 뒷부분에 나열됩니다.
Credentials Forms 인증 중에 사용할 사용자 이름 및 암호 컬렉션이 포함된 FormsAuthenticationCredentials 값입니다. 참고: 보안이 필요한 경우 사용자 이름 및 암호를 저장하는 다른 방법(예: 데이터베이스 저장소)을 사용해야 합니다. 이 컬렉션을 사용하려는 경우 클래스의 속성에 암호화 형식을 PasswordFormatFormsAuthenticationCredentials 지정해야 합니다.
DefaultUrl 인증 후 요청을 지시할 기본 URL을 지정하는 읽기/쓰기가 없는 string 값입니다. 기본값은 "default.aspx"입니다.
Domain Forms 인증 쿠키를 사용하여 보낼 도메인 이름을 지정하는 읽기/쓰기 string 값입니다. 기본값은 ""입니다. Forms 인증 쿠키의 경우 이 설정이 HttpCookiesSection 클래스의 속성에 있는 Domain 설정보다 우선합니다.
EnableCrossAppRedirects 읽기/쓰기 boolean 값입니다. true 인증된 사용자를 다른 애플리케이션의 URL로 리디렉션할 수 있으면 이고, 그렇지 않으면 입니다 false. 기본값은 false입니다. 이 속성이 이 true면 리디렉션이 수행되고, 그렇지 않으면 브라우저가 속성에 DefaultUrl 정의된 페이지로 리디렉션됩니다. 참고: 여러 ASP.NET 애플리케이션에서 Forms 인증을 사용하도록 설정하면 사용자가 애플리케이션 간에 전환할 때 다시 인증할 필요가 없습니다. 자세한 내용은 애플리케이션 간 양식 인증을 참조하세요.
LoginUrl 사용자가 인증되지 않거나 유효한 인증 쿠키가 없을 때 요청이 리디렉션되는 URL을 지정하는 흠 없는 읽기/쓰기 string 값입니다. 기본값은 "login.aspx"입니다.
Name 요청 인증에 사용할 HTTP 쿠키의 이름을 지정하는 흠 없는 읽기/쓰기 string 값입니다. 기본값은 ".ASPXAUTH"입니다.
Path 인증에 사용할 HTTP 쿠키의 경로를 지정하는 흠 없는 읽기/쓰기 string 값입니다. 경로는 인증 쿠키 자체와 함께 전송됩니다. 기본값은 웹 애플리케이션 루트를 나타내는 "/"입니다.
Protection 쿠키에 사용되는 암호화 방법을 지정하는 읽기/쓰기 sint32 값입니다. 가능한 값은 설명 섹션의 뒷부분에 나열됩니다.
RequireSSL 읽기/쓰기 boolean 값입니다. true 인증에 SSL(Secure Sockets Layer) 연결이 필요한 경우 그렇지 않으면 입니다 false. 기본값은 false입니다. 이 속성이 인 true경우 웹 애플리케이션은 SSL 연결을 사용하지 않는 모든 Forms 인증 요청을 거부합니다.
SlidingExpiration 읽기/쓰기 boolean 값입니다. true 인증 쿠키의 만료가 속성의 현재 날짜 및 시간 및 값(분)으로 설정되면 이고, Timeoutfalse그렇지 않으면 입니다. 기본값은 true입니다.

이면 true의 값 Timeout 의 절반 미만이 남아 있고 사용자가 애플리케이션을 계속 적극적으로 사용하는 경우 쿠키의 만료 날짜 및 시간이 자동으로 다시 설정됩니다. 이면 false속성에 지정된 간격이 지나면 쿠키가 Timeout 자동으로 시간 초과됩니다.
Timeout 인증이 만료되는 시간을 지정하는 읽기/쓰기 datetime 값입니다. 기본값은 30분입니다.

를 서브클래싱합니다.

이 클래스에는 하위 클래스가 없습니다.

설명

이 클래스의 인스턴스는 AuthenticationSection 클래스의 속성에 포함 Forms 됩니다.

다음 표에서는 속성에 대해 가능한 값을 나열합니다 Cookieless . 기본값은 3(UseDeviceProfile)입니다.

키워드 설명
0 UseUri 호출 기능은 브라우저 또는 디바이스에서 쿠키를 지원하는지 여부에 관계없이 쿼리 문자열을 사용하여 식별자를 저장하도록 지정합니다.
1 UseCookies 브라우저 또는 디바이스에서 쿠키를 지원하는지 여부에 관계없이 쿠키를 사용하여 사용자 데이터를 유지하도록 지정합니다.
2 AutoDetect 요청 브라우저 또는 디바이스에서 쿠키를 지원하는지 여부를 결정하는 ASP.NET 지정합니다. 브라우저 또는 디바이스가 쿠키를 지원하는 경우 요청 기능은 쿠키를 사용하여 사용자 데이터를 유지합니다. 그렇지 않으면 요청 기능은 쿼리 문자열의 식별자를 사용합니다. 브라우저 또는 디바이스가 쿠키를 지원하지만 쿠키가 현재 사용하지 않도록 설정된 경우 요청 기능은 여전히 쿠키를 사용합니다.
3 UseDeviceProfile ASP.NET System.Web.Configuration.HttpCapabilitiesBase 클래스의 속성에 Cookies 따라 쿠키를 사용할지 여부를 결정하도록 지정합니다. 설정이 브라우저 또는 디바이스가 쿠키를 지원한다는 것을 나타내는 경우 요청 기능은 쿠키를 사용합니다. 그렇지 않으면 요청 기능은 쿼리 문자열의 식별자를 사용합니다.

다음 표에서는 속성에 대해 가능한 값을 나열합니다 Protection . 기본값은 0(All)입니다.

키워드 설명
0 All 애플리케이션이 데이터 유효성 검사와 암호화를 모두 사용하여 쿠키를 보호하도록 지정합니다. 이 옵션은 MachineKeySection 클래스에 지정된 데이터 유효성 검사 알고리즘을 사용합니다. 애플리케이션은 사용할 수 있고 키가 48바이트 이상인 경우 암호화에 트리플 DES(Triple Data Encryption Standard)를 사용합니다. 참고: 권장 설정입니다. 쿠키 보호를 개선하기 위해 속성을 true로 설정할 RequireSSL 수도 있습니다.
1 None 암호화 및 유효성 검사를 사용하지 않도록 지정합니다. 이 설정은 개인 설정에만 쿠키를 사용하는 보안 요구 사항이 약한 사이트에 대한 것입니다. 이러한 방식으로 쿠키를 사용하지 않아야 합니다. 그러나 .NET Framework 사용하여 개인 설정을 사용하도록 설정하는 리소스 집약적이 가장 적은 방법입니다.
2 Encryption 쿠키가 Triple DES 또는 DES로 암호화되도록 지정합니다. 이 설정을 사용하면 쿠키에 대해 데이터 유효성 검사가 수행되지 않으므로 일반 텍스트 보안 공격의 대상이 됩니다.
3 Validation 애플리케이션이 유효성 검사 체계를 사용하여 암호화된 쿠키의 콘텐츠가 전송 중에 변경되지 않은지 확인하도록 지정합니다. 쿠키는 유효성 검사 키에 쿠키 데이터를 결합하고, MAC(메시지 인증 코드)을 계산하고, MAC를 나가는 쿠키에 추가하여 만들어집니다.

예제

다음 예제에서는 기본 웹 사이트에 대한 Forms 인증 설정을 표시합니다.

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")  
  
' Get the authentication section.  
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")  
oSite.GetSection "AuthenticationSection", oAuthSection  
  
' Assign the Forms property to a variable.  
Set oFormsAuthConfig = oAuthSection.Forms  
  
' Display the Forms authentication settings.  
WScript.Echo "Forms Authentication Settings"  
WScript.Echo "-----------------------------"  
  
WScript.Echo "Cookieless: [ " & _  
    CookielessText(oFormsAuthConfig.Cookieless)& " ]"  
  
WScript.Echo "Default Url: [ " & _  
    oFormsAuthConfig.DefaultUrl& " ]"  
  
WScript.Echo "Domain: [ " & oFormsAuthConfig.Domain& " ]"  
  
WScript.Echo "EnableCrossAppRedirects: [ " & _  
    oFormsAuthConfig.EnableCrossAppRedirects& " ]"  
  
WScript.Echo "LoginUrl: [ " & _  
    oFormsAuthConfig.LoginUrl & " ]"  
  
WScript.Echo "Name: [ " & oFormsAuthConfig.Name& " ]"  
  
WScript.Echo "Path: [ " & oFormsAuthConfig.Path& " ]"  
  
WScript.Echo "Protection: [ " & _  
    ProtectionText(oFormsAuthConfig.Protection)& " ]"  
  
WScript.Echo "RequireSSL: [ " & _  
    oFormsAuthConfig.RequireSSL& " ]"  
  
WScript.Echo "SlidingExpiration: [ " & _  
    oFormsAuthConfig.SlidingExpiration& " ]"  
  
WScript.Echo "Timeout: [ " & oFormsAuthConfig.Timeout& " ]"  
  
' Call a sub to display the credentials information.  
DisplayCredentials(oFormsAuthConfig.Credentials)  
  
' Convert the Cookieless enumeration values to text.  
Function CookielessText(enumValue)  
    Select Case enumValue  
        Case 0  
            CookielessText = "UseUri"  
        Case 1  
            CookielessText = "UseCookies"  
        Case 2  
            CookielessText = "AutoDetect"  
        Case 3  
            CookielessText = "UseDeviceProfile"  
        Case Else  
            CookielessText = "Undefined enumeration value."  
    End Select  
End Function  
  
' Convert the Protection enumeration values to text.  
Function ProtectionText(enumValue)  
    Select Case enumValue  
        Case 0  
            ProtectionText = "All"  
        Case 1  
            ProtectionText = "None"  
        Case 2  
            ProtectionText = "Encryption"  
        Case 3  
            ProtectionText = "Validation"  
        Case Else  
            ProtectionText = "Undefined enumeration value."  
    End Select  
End Function  
  
' Display the Forms authentication credentials.  
Sub DisplayCredentials(FA_Credentials)  
    WScript.Echo vbCrLf & "Forms Authentication Credentials"  
    WScript.Echo "--------------------------------"  
  
    ' Display the password encryption format.  
    WScript.Echo "Password Format: " & _  
        PwdFormatText(FA_Credentials.PasswordFormat) & VbCrLf  
  
    ' Display the Forms authentication users and passwords.  
    For Each FormsAuthUser In FA_Credentials.Credentials  
        WScript.Echo "    Name: [ " & FormsAuthUser.Name & " ]"  
        WScript.Echo "Password: [ " & _  
            FormsAuthUser.Password& " ]"  
        WScript.Echo  
    Next  
End Sub  
  
' Convert the PasswordFormat enumeration values to text.  
Function PwdFormatText(enumValue)  
    Select Case enumValue  
        Case 0  
            PwdFormatText = "Clear"  
        Case 1  
            PwdFormatText = "SHA1"  
        Case 2  
            PwdFormatText = "MD5"  
        Case Else  
            PwdFormatText = "Undefined enumeration value."  
    End Select  
End Function  
  

상속 계층 구조

EmbeddedObject

FormsAuthenticationConfiguration

요구 사항

Type 설명
클라이언트 - Windows Vista의 IIS 7.0
- Windows 7의 IIS 7.5
- WINDOWS 8 IIS 8.0
- WINDOWS 10 IIS 10.0
서버 - Windows Server 2008의 IIS 7.0
- Windows Server 2008 R2의 IIS 7.5
- WINDOWS SERVER 2012 IIS 8.0
- WINDOWS SERVER 2012 R2의 IIS 8.5
- WINDOWS SERVER 2016 IIS 10.0
제품 - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
MOF 파일 WebAdministration.mof

참고 항목

System.Web.Configuration.AuthenticationModeSystem.Web.Configuration.FormsAuthenticationConfigurationSystem.Web.Configuration.HttpCapabilitiesBaseAuthenticationSection 클래스
EmbeddedObject 클래스
FormsAuthenticationCredentials 클래스
FormsAuthenticationUser 클래스
MachineKeySection 클래스
애플리케이션에서 폼 인증
CIM_DATETIME