FormsAuthentication 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
웹 애플리케이션의 폼 인증 서비스를 관리합니다. 이 클래스는 상속될 수 없습니다.
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 애플리케이션에 대 한 로그인 페이지를 보여 줍니다.
중요
이 예제에서는 잠재적 보안 위협을 사용자 입력을 허용 하는 텍스트 상자가 포함 되어 있습니다. 기본적으로 ASP.NET 웹 페이지는 사용자 입력 내용에 스크립트 또는 HTML 요소가 포함되어 있지 않은지 확인합니다. 자세한 내용은 Script Exploits Overview를 참조하세요.
<%@ 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. 필요한 경우 양식 인증 티켓을 관리할 수 있는 메서드도 있습니다.
생성자
FormsAuthentication() |
FormsAuthentication 클래스의 새 인스턴스를 초기화합니다. |
속성
CookieDomain |
폼 인증 쿠키의 도메인 값을 가져옵니다. |
CookieMode |
쿠키 없는 폼 인증에 대해 애플리케이션이 구성되어 있는지 여부를 나타내는 값을 가져옵니다. |
CookieSameSite |
쿠키의 SameSite 특성에 대한 값을 가져오거나 설정합니다. |
CookiesSupported |
애플리케이션이 쿠키 없는 폼 인증을 지원하도록 구성되어 있는지 여부를 나타내는 값을 가져옵니다. |
DefaultUrl |
리디렉션 URL을 지정하지 않은 경우 FormsAuthentication 클래스에서 리디렉션할 URL을 가져옵니다. |
EnableCrossAppRedirects |
인증된 사용자를 다른 웹 애플리케이션의 URL로 리디렉션할 수 있는지 여부를 나타내는 값을 가져옵니다. |
FormsCookieName |
폼 인증 티켓을 저장하는 데 사용되는 쿠키의 이름을 가져옵니다. |
FormsCookiePath |
폼 인증 쿠키의 경로를 가져옵니다. |
IsEnabled |
폼 인증을 사용할 수 있는지 여부를 나타내는 값을 가져옵니다. |
LoginUrl |
FormsAuthentication 클래스에서 리디렉션할 로그인 페이지의 URL을 가져옵니다. |
RequireSSL |
서버에 반환되기 위해 폼 인증 쿠키에 SSL이 필요한지 여부를 나타내는 값을 가져옵니다. |
SlidingExpiration |
상대(sliding) 만료를 사용하는지 여부를 나타내는 값을 가져옵니다. |
TicketCompatibilityMode |
티켓 만료 날짜에 UTC(협정 세계시)를 사용할지 또는 현지 시간을 사용할지 나타내는 값을 가져옵니다. |
Timeout |
인증 티켓이 만료되기 전의 시간을 가져옵니다. |
메서드
Authenticate(String, String) |
사용되지 않음.
애플리케이션의 구성 파일에 저장된 자격 증명에 대해 사용자 이름과 암호의 유효성을 검사합니다. |
Decrypt(String) |
메서드에 전달된 암호화된 폼 인증 티켓을 기반으로 FormsAuthenticationTicket 개체를 만듭니다. |
EnableFormsAuthentication(NameValueCollection) |
폼 인증을 사용하도록 설정합니다. |
Encrypt(FormsAuthenticationTicket) |
HTTP 쿠키에서 사용하기에 적합한 암호화된 폼 인증 티켓이 들어 있는 문자열을 만듭니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetAuthCookie(String, Boolean) |
주어진 사용자 이름에 대한 인증 쿠키를 만듭니다. 그러면 쿠키가 보내는 응답의 일부로 설정되지 않으므로 애플리케이션에서는 쿠키를 발행하는 방법을 보다 세밀하게 제어할 수 있습니다. |
GetAuthCookie(String, Boolean, String) |
주어진 사용자 이름에 대한 인증 쿠키를 만듭니다. 이를 통해 쿠키가 나가는 응답의 일부로 설정되지는 않습니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetRedirectUrl(String, Boolean) |
로그인 페이지로 리디렉션하도록 만든 원래 요청의 리디렉션 URL을 반환합니다. |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
HashPasswordForStoringInConfigFile(String, String) |
사용되지 않음.
지정된 암호와 해시 알고리즘을 기반으로 구성 파일에 저장하기에 적합한 해시 암호를 만듭니다. |
Initialize() |
애플리케이션의 구성 설정을 기반으로 FormsAuthentication 개체를 초기화합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
RedirectFromLoginPage(String, Boolean) |
인증된 사용자를 원래 요청된 URL이나 기본 URL로 리디렉션합니다. |
RedirectFromLoginPage(String, Boolean, String) |
인증된 사용자를 폼 인증 쿠키의 지정된 쿠키 경로를 사용하여 원래 요청된 URL이나 기본 URL로 리디렉션합니다. |
RedirectToLoginPage() |
브라우저를 로그인 URL로 리디렉션합니다. |
RedirectToLoginPage(String) |
지정된 쿼리 문자열을 사용하여 브라우저를 로그인 URL로 리디렉션합니다. |
RenewTicketIfOld(FormsAuthenticationTicket) |
FormsAuthenticationTicket의 발행 날짜와 시간 및 만료 날짜와 시간을 조건부로 업데이트합니다. |
SetAuthCookie(String, Boolean) |
제공된 사용자 이름에 대한 인증 티켓을 만들어 응답의 쿠키 컬렉션이나 URL(쿠키 없는 인증을 사용하는 경우)에 추가합니다. |
SetAuthCookie(String, Boolean, String) |
제공된 사용자 이름에 대한 인증 티켓을 만들어 제공된 쿠키 경로를 사용하거나 URL(쿠키 없는 인증을 사용하는 경우)을 사용하여 응답의 쿠키 컬렉션에 추가합니다. |
SignOut() |
브라우저에서 폼 인증 티켓을 제거합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
추가 정보
.NET