共用方式為


FormsAuthenticationTicket 建構函式

定義

初始化 FormsAuthenticationTicket 類別的新執行個體。

多載

名稱 Description
FormsAuthenticationTicket(String, Boolean, Int32)

使用 Cookie 名稱和到期資訊初始化該類別的新實例 FormsAuthenticationTicket

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

初始化一個新的類別實例 FormsAuthenticationTicket ,包含 Cookie 名稱、版本、到期日、發行日期、持久性及使用者專屬資料。 Cookie 路徑設定為應用程式設定檔中預設值。

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

初始化一個新的類別實例 FormsAuthenticationTicket ,包含 Cookie 名稱、版本、目錄路徑、發行日期、到期日、持久性及使用者定義資料。

FormsAuthenticationTicket(String, Boolean, Int32)

使用 Cookie 名稱和到期資訊初始化該類別的新實例 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工單是否會儲存在持久的 Cookie 中(跨瀏覽器會話儲存);否則,。 false 如果工單儲存在網址中,這個值會被忽略。

timeout
Int32

驗證票有效時間(分鐘)。

備註

由此建構子建立的FormsAuthenticationTicket物件會有一個CookiePath值,一個Version屬性FormsCookiePath值、一個值 2、一個IssueDate當前當地日期與時間值、一個UserData空字串(「),以及Expiration一個設定為當前本地日期和時間加上參數timeout值的值。

另請參閱

適用於

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

初始化一個新的類別實例 FormsAuthenticationTicket ,包含 Cookie 名稱、版本、到期日、發行日期、持久性及使用者專屬資料。 Cookie 路徑設定為應用程式設定檔中預設值。

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工單是否會儲存在持久的 Cookie 中(跨瀏覽器會話儲存);否則,。 false 如果工單儲存在網址中,這個值會被忽略。

userData
String

與工單一同儲存的使用者專屬資料。

備註

由此建構子建立的 FormsAuthenticationTicket 物件值會 CookiePath 設定為 的值 FormsCookiePath

備註

參數 userData 不可能是 null

另請參閱

適用於

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

初始化一個新的類別實例 FormsAuthenticationTicket ,包含 Cookie 名稱、版本、目錄路徑、發行日期、到期日、持久性及使用者定義資料。

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工單是否會儲存在持久的 Cookie 中(跨瀏覽器會話儲存);否則,。 false 如果工單儲存在網址中,這個值會被忽略。

userData
String

與工單一同儲存的使用者專屬資料。

cookiePath
String

當票券儲存在餅乾中時的路徑。

範例

以下程式碼範例將方法的結果 Encrypt 儲存在 cookie 中,並利用 屬性 FormsCookieName 將使用者導向該方法回傳 GetRedirectUrl 的 URL。

這很重要

此範例包含一個接受使用者輸入的文字框,這可能構成安全威脅。 預設情況下,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">

  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

另請參閱

適用於