FormsAuthentication 클래스

정의

웹 애플리케이션에 대한 양식 인증 서비스를 관리합니다. 이 클래스는 상속할 수 없습니다.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
상속
FormsAuthentication

예제

다음 코드 예제에서는 양식 인증에 ASP.NET 멤버 자격 공급자를 사용 하 고 모든 사용자를 인증 해야 하는 ASP.NET 애플리케이션에 대 한 Web.config 파일을 보여 줍니다.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <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>

다음 코드 예제에서는 양식 인증 및 ASP.NET 멤버 자격을 사용하는 ASP.NET 애플리케이션에 대한 로그인 페이지를 보여 있습니다.

Important

이 예제에는 잠재적인 보안 위협인 사용자 입력을 허용하는 텍스트 상자가 포함되어 있습니다. 기본적으로 ASP.NET 웹 페이지는 사용자 입력에 스크립트 또는 HTML 요소가 포함되지 않는지 확인합니다. 자세한 내용은 스크립트 악용 개요를 참조하세요.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void Login_OnClick(object sender, EventArgs args)
{
   if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
   else
     Msg.Text = "Login failed. Please check your user name and password and try again.";
}


</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

Public Sub Login_OnClick(sender As Object, args As  EventArgs)

   If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
   Else
     Msg.Text = "Login failed. Please check your user name and password and try again."
   End If

End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>

설명

양식 인증을 사용하면 Windows 인증 필요하지 않은 웹 애플리케이션에 대한 사용자 및 암호 유효성 검사를 수행할 수 있습니다. 양식 인증을 사용하면 사용자 정보가 데이터베이스와 같은 Membership 외부 데이터 원본 또는 애플리케이션의 구성 파일에 저장됩니다. 사용자가 인증되면 인증된 사용자가 각 요청에 자격 증명을 제공할 필요가 없도록 폼 인증은 쿠키 또는 URL에서 인증 티켓을 유지 관리합니다.

폼 인증은 인증 구성 요소의 mode 특성을 .로 설정하여 활성화됩니다Forms. 다음 예제와 같이 권한 부여 구성 요소를 사용하여 알 수 없는 사용자의 요청을 거부하여 애플리케이션에 대한 모든 요청에 유효한 사용자 인증 티켓을 포함하도록 요구할 수 있습니다.

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="login.aspx" />
  </authentication>
  <authorization>
    <deny users="?" />
  </authorization>
</system.web>

이전 예제에서 애플리케이션의 일부인 ASP.NET 페이지에 대한 모든 요청에는 양식 인증에서 제공하는 유효한 사용자 이름이 필요합니다. 사용자 이름이 없으면 요청이 구성된 LoginUrl이름으로 리디렉션됩니다.

이 클래스는 FormsAuthentication 사용자를 인증하는 애플리케이션에서 사용할 수 있는 메서드 및 속성에 대한 액세스를 제공합니다. 이 메서드는 RedirectToLoginPage 사용자가 애플리케이션에 로그인하도록 구성된 LoginUrl 브라우저로 리디렉션합니다. 이 메서드는 RedirectFromLoginPage 인증된 사용자를 요청된 원래 보호된 URL 또는 로 다시 리디렉션합니다 DefaultUrl. 필요한 경우 양식 인증 티켓을 관리할 수 있는 메서드도 있습니다.

생성자

Name Description
FormsAuthentication()

FormsAuthentication 클래스의 새 인스턴스를 초기화합니다.

속성

Name Description
CookieDomain

양식 인증 쿠키의 도메인 값을 가져옵니다.

CookieMode

애플리케이션이 쿠키 없는 양식 인증에 대해 구성되었는지 여부를 나타내는 값을 가져옵니다.

CookieSameSite

쿠키의 SameSite 특성 값을 가져오거나 설정합니다.

CookiesSupported

애플리케이션이 쿠키 없는 양식 인증을 지원하도록 구성되었는지 여부를 나타내는 값을 가져옵니다.

DefaultUrl

리디렉션 URL이 FormsAuthentication 지정되지 않은 경우 클래스가 리디렉션할 URL을 가져옵니다.

EnableCrossAppRedirects

인증된 사용자를 다른 웹 애플리케이션의 URL로 리디렉션할 수 있는지 여부를 나타내는 값을 가져옵니다.

FormsCookieName

양식 인증 티켓을 저장하는 데 사용되는 쿠키의 이름을 가져옵니다.

FormsCookiePath

양식 인증 쿠키의 경로를 가져옵니다.

IsEnabled

양식 인증을 사용할 수 있는지 여부를 나타내는 값을 가져옵니다.

LoginUrl

클래스가 리디렉션할 로그인 페이지의 URL을 FormsAuthentication 가져옵니다.

RequireSSL

양식 인증 쿠키가 서버에 반환되기 위해 SSL이 필요한지 여부를 나타내는 값을 가져옵니다.

SlidingExpiration

슬라이딩 만료를 사용할 수 있는지 여부를 나타내는 값을 가져옵니다.

TicketCompatibilityMode

티켓 만료 날짜에 UTC(협정 세계시) 또는 현지 시간을 사용할지 여부를 나타내는 값을 가져옵니다.

Timeout

인증 티켓이 만료되기 전의 시간을 가져옵니다.

메서드

Name Description
Authenticate(String, String)
사용되지 않음.

애플리케이션의 구성 파일에 저장된 자격 증명에 대해 사용자 이름 및 암호의 유효성을 검사합니다.

Decrypt(String)

메서드에 FormsAuthenticationTicket 전달된 암호화된 양식 인증 티켓을 기반으로 개체를 만듭니다.

EnableFormsAuthentication(NameValueCollection)

양식 인증을 사용하도록 설정합니다.

Encrypt(FormsAuthenticationTicket)

HTTP 쿠키에 사용하기에 적합한 암호화된 양식 인증 티켓이 포함된 문자열을 만듭니다.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetAuthCookie(String, Boolean, String)

지정된 사용자 이름에 대한 인증 쿠키를 만듭니다. 그러면 쿠키가 나가는 응답의 일부로 설정되지 않습니다.

GetAuthCookie(String, Boolean)

지정된 사용자 이름에 대한 인증 쿠키를 만듭니다. 이렇게 하면 쿠키가 나가는 응답의 일부로 설정되지 않으므로 애플리케이션이 쿠키를 발급하는 방법을 더 자세히 제어할 수 있습니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetRedirectUrl(String, Boolean)

로그인 페이지로 리디렉션을 발생시킨 원래 요청에 대한 리디렉션 URL을 반환합니다.

GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
HashPasswordForStoringInConfigFile(String, String)
사용되지 않음.

지정된 암호 및 해시 알고리즘을 기반으로 구성 파일에 저장하는 데 적합한 해시 암호를 생성합니다.

Initialize()

애플리케이션의 FormsAuthentication 구성 설정에 따라 개체를 초기화합니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
RedirectFromLoginPage(String, Boolean, String)

양식 인증 쿠키에 대해 지정된 쿠키 경로를 사용하여 인증된 사용자를 원래 요청된 URL 또는 기본 URL로 다시 리디렉션합니다.

RedirectFromLoginPage(String, Boolean)

인증된 사용자를 원래 요청된 URL 또는 기본 URL로 다시 리디렉션합니다.

RedirectToLoginPage()

브라우저를 로그인 URL로 리디렉션합니다.

RedirectToLoginPage(String)

지정된 쿼리 문자열을 사용하여 브라우저를 로그인 URL로 리디렉션합니다.

RenewTicketIfOld(FormsAuthenticationTicket)

에 대한 문제 날짜 및 시간 및 만료 날짜 및 시간을 조건부로 FormsAuthenticationTicket업데이트합니다.

SetAuthCookie(String, Boolean, String)

제공된 사용자 이름에 대한 인증 티켓을 만들고 제공된 쿠키 경로를 사용하거나 쿠키 없는 인증을 사용하는 경우 URL을 사용하여 응답의 쿠키 컬렉션에 추가합니다.

SetAuthCookie(String, Boolean)

제공된 사용자 이름에 대한 인증 티켓을 만들어 응답의 쿠키 컬렉션 또는 쿠키 없는 인증을 사용하는 경우 URL에 추가합니다.

SignOut()

브라우저에서 양식 인증 티켓을 제거합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보