다음을 통해 공유


FormsAuthenticationTicket 생성자

정의

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

오버로드

FormsAuthenticationTicket(String, Boolean, Int32)

쿠키 이름과 만료 정보를 사용하여 FormsAuthenticationTicket 클래스의 새 인스턴스를 초기화합니다.

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String)

쿠키 이름, 버전, 만료일, 발행일, 지속성 및 사용자별 데이터를 사용하여 FormsAuthenticationTicket 클래스의 새 인스턴스를 초기화합니다. 쿠키 경로는 애플리케이션 구성 파일에 설정된 기본값으로 설정됩니다.

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String)

FormsAuthenticationTicket 클래스의 새 인스턴스와 쿠키 이름, 버전, 디렉터리 경로, 발행일, 만료일, 지속성 및 사용자 정의 데이터를 초기화합니다.

FormsAuthenticationTicket(String, Boolean, Int32)

쿠키 이름과 만료 정보를 사용하여 FormsAuthenticationTicket 클래스의 새 인스턴스를 초기화합니다.

public:
 FormsAuthenticationTicket(System::String ^ name, bool isPersistent, int timeout);
public FormsAuthenticationTicket (string name, bool isPersistent, int timeout);
new System.Web.Security.FormsAuthenticationTicket : string * bool * int -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (name As String, isPersistent As Boolean, timeout As Integer)

매개 변수

name
String

티켓과 관련된 사용자 이름입니다.

isPersistent
Boolean

티켓이 영구 쿠키에 저장(브라우저 세션이 바뀌어도 계속 저장된 상태 유지)되면 true이고, 그렇지 않으면 false입니다. 티켓이 URL에 저장되면 이 값은 무시됩니다.

timeout
Int32

인증 티켓의 유효 기간(분)입니다.

설명

FormsAuthenticationTicket 이 생성자가 만든 개체에 포함 됩니다를 CookiePath 값의 값으로 설정는 FormsCookiePath 속성을 Version 값 2는 IssueDate 현재 현지 날짜와 시간 값을 UserData 빈 값 문자열 (""), 및 Expiration 현재 현지 날짜와 시간 값으로 설정 된 값을 timeout 매개 변수입니다.

추가 정보

적용 대상

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String)

쿠키 이름, 버전, 만료일, 발행일, 지속성 및 사용자별 데이터를 사용하여 FormsAuthenticationTicket 클래스의 새 인스턴스를 초기화합니다. 쿠키 경로는 애플리케이션 구성 파일에 설정된 기본값으로 설정됩니다.

public:
 FormsAuthenticationTicket(int version, System::String ^ name, DateTime issueDate, DateTime expiration, bool isPersistent, System::String ^ userData);
public FormsAuthenticationTicket (int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData);
new System.Web.Security.FormsAuthenticationTicket : int * string * DateTime * DateTime * bool * string -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (version As Integer, name As String, issueDate As DateTime, expiration As DateTime, isPersistent As Boolean, userData As String)

매개 변수

version
Int32

티켓의 버전 번호입니다.

name
String

티켓과 관련된 사용자 이름입니다.

issueDate
DateTime

티켓이 발행된 현지 날짜와 시간입니다.

expiration
DateTime

티켓이 만료되는 현지 날짜와 시간입니다.

isPersistent
Boolean

티켓이 영구 쿠키에 저장(브라우저 세션이 바뀌어도 계속 저장된 상태 유지)되면 true이고, 그렇지 않으면 false입니다. 티켓이 URL에 저장되면 이 값은 무시됩니다.

userData
String

티켓과 함께 저장될 사용자별 데이터입니다.

설명

FormsAuthenticationTicket 이 생성자가 만든 개체에 포함 됩니다는 CookiePath 값의 값으로 설정 된 FormsCookiePath합니다.

참고

userData 매개 변수는 null일 수 없습니다.

추가 정보

적용 대상

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String)

FormsAuthenticationTicket 클래스의 새 인스턴스와 쿠키 이름, 버전, 디렉터리 경로, 발행일, 만료일, 지속성 및 사용자 정의 데이터를 초기화합니다.

public:
 FormsAuthenticationTicket(int version, System::String ^ name, DateTime issueDate, DateTime expiration, bool isPersistent, System::String ^ userData, System::String ^ cookiePath);
public FormsAuthenticationTicket (int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData, string cookiePath);
new System.Web.Security.FormsAuthenticationTicket : int * string * DateTime * DateTime * bool * string * string -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (version As Integer, name As String, issueDate As DateTime, expiration As DateTime, isPersistent As Boolean, userData As String, cookiePath As String)

매개 변수

version
Int32

티켓의 버전 번호입니다.

name
String

티켓과 관련된 사용자 이름입니다.

issueDate
DateTime

티켓이 발행된 현지 날짜와 시간입니다.

expiration
DateTime

티켓이 만료되는 현지 날짜와 시간입니다.

isPersistent
Boolean

티켓이 영구 쿠키에 저장(브라우저 세션이 바뀌어도 계속 저장된 상태 유지)되면 true이고, 그렇지 않으면 false입니다. 티켓이 URL에 저장되면 이 값은 무시됩니다.

userData
String

티켓과 함께 저장될 사용자별 데이터입니다.

cookiePath
String

쿠키에 저장될 때의 티켓 경로입니다.

예제

결과 저장 하는 다음 코드 예제는 Encrypt 메서드를 사용 하 여 쿠키를 FormsCookieName 속성과 리디렉션을에서 반환 된 URL로 사용자를 GetRedirectUrl 메서드.

중요

이 예제에서는 잠재적 보안 위협을 사용자 입력을 허용 하는 텍스트 상자가 포함 되어 있습니다. 기본적으로 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">

  private void Login_Click(Object sender, EventArgs e)
  {
    // Create a custom FormsAuthenticationTicket containing
    // application specific data for the user.

    string username     = UserNameTextBox.Text;
    string password     = UserPassTextBox.Text;
    bool   isPersistent = false;

    if (Membership.ValidateUser(username, password))
    {
      string userData = "ApplicationSpecific data for this user.";

      FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
        username,
        DateTime.Now,
        DateTime.Now.AddMinutes(30),
        isPersistent,
        userData,
        FormsAuthentication.FormsCookiePath);

      // Encrypt the ticket.
      string encTicket = FormsAuthentication.Encrypt(ticket);

      // Create the cookie.
      Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));

      // Redirect back to original URL.
      Response.Redirect(FormsAuthentication.GetRedirectUrl(username, isPersistent));
    }
    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>Forms Authentication Login</title>
</head>
<body>
    <form id="form1" runat="server">
        <span style="BACKGROUND: #80ff80; font-weight:bold"> 
            Login Page
        </span> 
        <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
        <table border="0">
            <tbody>
                <tr>
                    <td>Username:</td>
                    <td><asp:TextBox id="UserNameTextBox" runat="server" /></td>
                    <td>
                      <asp:RequiredFieldValidator id="RequiredFieldValidator1" 
                                                  runat="server" ErrorMessage="*" 
                                                  Display="Static" 
                                                  ControlToValidate="UserNameTextBox" />
                    </td>
                </tr>
                <tr>
                    <td>Password:</td>
                    <td><asp:TextBox id="UserPassTextBox" TextMode="Password" runat="server" /></td>
                    <td>
                      <asp:RequiredFieldValidator id="RequiredFieldValidator2" 
                                                  runat="server" ErrorMessage="*" 
                                                  Display="Static" 
                                                  ControlToValidate="UserPassTextBox" />
                    </td>
                </tr>
            </tbody>
        </table>
        <input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
    </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">

  Private Sub Login_Click(sender As Object, e As EventArgs)
  
    ' Create a custom FormsAuthenticationTicket containing
    ' application specific data for the user.

        Dim username As String = UserNameTextBox.Text
        Dim password As String = UserPassTextBox.Text
        Dim isPersistent As Boolean = False

    If Membership.ValidateUser(username, password) Then
    
      Dim userData As String = "ApplicationSpecific data for this user."

      Dim ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _
        username, _
        DateTime.Now, _
        DateTime.Now.AddMinutes(30), _
        isPersistent, _
        userData, _
        FormsAuthentication.FormsCookiePath)

      ' Encrypt the ticket.
      Dim encTicket As String = FormsAuthentication.Encrypt(ticket)

      ' Create the cookie.
      Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, encTicket))

      ' Redirect back to original URL.
      Response.Redirect(FormsAuthentication.GetRedirectUrl(username, isPersistent))
    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>Forms Authentication Login</title>
</head>
<body>
    <form id="form1" runat="server">
        <span style="BACKGROUND:#80ff80; font-weight:bold"> 
          Login Page
        </span> 
        <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
        <table border="0">
            <tbody>
                <tr>
                    <td>Username:</td>
                    <td><asp:TextBox id="UserNameTextBox" runat="server" /></td>
                    <td>
                      <asp:RequiredFieldValidator id="RequiredFieldValidator1" 
                                                  runat="server" ErrorMessage="*" 
                                                  Display="Static" 
                                                  ControlToValidate="UserNameTextBox" />
                    </td>
                </tr>
                <tr>
                    <td>Password:</td>
                    <td><asp:TextBox id="UserPassTextBox" TextMode="Password" runat="server" /></td>
                    <td>
                      <asp:RequiredFieldValidator id="RequiredFieldValidator2" 
                                                  runat="server" ErrorMessage="*" 
                                                  Display="Static" 
                                                  ControlToValidate="UserPassTextBox" />
                    </td>
                </tr>
            </tbody>
        </table>
        <input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
    </form>
</body>
</html>

설명

참고

userData 매개 변수는 null일 수 없습니다.

추가 정보

적용 대상