FormsAuthenticationTicketとは? わかりやすく解説

FormsAuthenticationTicket クラス

フォーム認証でユーザーを識別するために使用されるチケットのプロパティと値へのアクセスを提供します。このクラスは継承できません。

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

<SerializableAttribute> _
Public NotInheritable Class
 FormsAuthenticationTicket
Dim instance As FormsAuthenticationTicket
[SerializableAttribute] 
public sealed class FormsAuthenticationTicket
[SerializableAttribute] 
public ref class FormsAuthenticationTicket
 sealed
/** @attribute SerializableAttribute() */ 
public final class FormsAuthenticationTicket
SerializableAttribute 
public final class FormsAuthenticationTicket
解説解説

FormsAuthenticationTicket クラスは、フォーム認証で認証済みユーザーを識別するのに使用される認証チケットを表すオブジェクトを作成するために使用されます。フォーム認証チケットのプロパティと値は、Cookie または URL に格納される暗号文字列に変換されたり、またこれらの暗号文字列から元に戻したりできます。

FormsAuthentication クラスは、FormsAuthenticationTicket から Cookie または URL に格納できる文字列値を作成する Encrypt メソッドを提供します。また、FormsAuthentication クラスには、フォーム認証 Cookie または URL から取得した暗号化された認証チケットから FormsAuthenticationTicket オブジェクトを作成する Decrypt メソッドもあります。

現在の認証済みユーザーの FormsAuthenticationTicket には、FormsIdentity クラスの Ticket プロパティを使用してアクセスできます。現在の FormsIdentity オブジェクトには、現在の User の Identity プロパティを FormsIdentity 型としてキャストすることによりアクセスできます。

使用例使用例

FormsCookieName を使用して Encrypt メソッドの結果を Cookie に格納し、GetRedirectUrl メソッドから返される URL にユーザーをリダイレクトするコード例を次に示します。

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security"
 %>
<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
 = PersistCheckBox.Checked

    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>
<head>
    <title>Forms Authentication Login</title>
</head>
<body>
    <form runat="server">
        <span style="BACKGROUND: #80ff80"> 
          <h3>Login Page</h3>
        </span> 
        <asp:Label id="Msg" ForeColor="maroon"
 runat="server" /><P>
        <table border=0>
            <tbody>
                <tr>
                    <td>Username:</td>
                    <td><asp:TextBox id="UserNameTextBox"
 type="text" 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>
                <tr>
                    <td>Check here if this is
 <u>not</u><br>a public computer:</td>
                    <td><asp:CheckBox id="PersistCheckBox"
 runat="server" autopostback="true"
 /></td>
                </tr>
            </tbody>
        </table>
        <input type="submit" value="Login"
 runat="server" onserverclick="Login_Click"
 />
    </form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<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 = PersistCheckBox.Checked;

    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>
<head>
    <title>Forms Authentication Login</title>
</head>
<body>
    <form runat="server">
        <span style="BACKGROUND: #80ff80"> 
          <h3>Login Page</h3>
        </span> 
        <asp:Label id="Msg" ForeColor="maroon" runat="server"
 /><P>
        <table border=0>
            <tbody>
                <tr>
                    <td>Username:</td>
                    <td><asp:TextBox id="UserNameTextBox" type="text"
 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>
                <tr>
                    <td>Check here if this
 is <u>not</u><br>a public computer:</td>
                    <td><asp:CheckBox id="PersistCheckBox" runat="server"
 autopostback="true" /></td>
                </tr>
            </tbody>
        </table>
        <input type="submit" value="Login" runat="server"
 onserverclick="Login_Click" />
    </form>
</body>
</html>
継承階層継承階層
System.Object
  System.Web.Security.FormsAuthenticationTicket
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

FormsAuthenticationTicket コンストラクタ (Int32, String, DateTime, DateTime, Boolean, String)

Cookie 名、バージョン、有効期限、発行日時、永続性、およびユーザー固有のデータで FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。Cookie パスは、アプリケーションの構成ファイル内で設定されている既定値になります。

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    version As Integer, _
    name As String, _
    issueDate As DateTime, _
    expiration As DateTime, _
    isPersistent As Boolean, _
    userData As String _
)
Dim version As Integer
Dim name As String
Dim issueDate As DateTime
Dim expiration As DateTime
Dim isPersistent As Boolean
Dim userData As String

Dim instance As New FormsAuthenticationTicket(version,
 name, issueDate, expiration, isPersistent, userData)
public FormsAuthenticationTicket (
    int version,
    string name,
    DateTime issueDate,
    DateTime expiration,
    bool isPersistent,
    string userData
)
public:
FormsAuthenticationTicket (
    int version, 
    String^ name, 
    DateTime issueDate, 
    DateTime expiration, 
    bool isPersistent, 
    String^ userData
)
public FormsAuthenticationTicket (
    int version, 
    String name, 
    DateTime issueDate, 
    DateTime expiration, 
    boolean isPersistent, 
    String userData
)
public function FormsAuthenticationTicket (
    version : int, 
    name : String, 
    issueDate : DateTime, 
    expiration : DateTime, 
    isPersistent : boolean, 
    userData : String
)

パラメータ

version

チケットのバージョン番号。

name

チケットに関連付けられているユーザー名。

issueDate

チケットが発行されたローカルの日付と時刻。

expiration

チケットの有効期限が切れるローカルの日付と時刻。

isPersistent

チケットを、複数のブラウザ セッションにわたって保存される永続的な Cookie に格納する場合は true。それ以外の場合は false。チケットが URL に格納される場合には、この値は無視されます。

userData

チケットに格納されるユーザー固有のデータ。

解説解説

このコンストラクタで作成される FormsAuthenticationTicket オブジェクトの CookiePath 値は FormsCookiePath の値に設定されます。

メモメモ

userData パラメータを null 参照 (Visual Basic では Nothing) にすることはできません。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

FormsAuthenticationTicket コンストラクタ (Int32, String, DateTime, DateTime, Boolean, String, String)

Cookie 名、バージョン、ディレクトリ パス、発行日時、有効期限、永続性、およびユーザー定義のデータで FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    version As Integer, _
    name As String, _
    issueDate As DateTime, _
    expiration As DateTime, _
    isPersistent As Boolean, _
    userData As String, _
    cookiePath As String _
)
Dim version As Integer
Dim name As String
Dim issueDate As DateTime
Dim expiration As DateTime
Dim isPersistent As Boolean
Dim userData As String
Dim cookiePath As String

Dim instance As New FormsAuthenticationTicket(version,
 name, issueDate, expiration, isPersistent, userData, cookiePath)
public FormsAuthenticationTicket (
    int version,
    string name,
    DateTime issueDate,
    DateTime expiration,
    bool isPersistent,
    string userData,
    string cookiePath
)
public:
FormsAuthenticationTicket (
    int version, 
    String^ name, 
    DateTime issueDate, 
    DateTime expiration, 
    bool isPersistent, 
    String^ userData, 
    String^ cookiePath
)
public FormsAuthenticationTicket (
    int version, 
    String name, 
    DateTime issueDate, 
    DateTime expiration, 
    boolean isPersistent, 
    String userData, 
    String cookiePath
)
public function FormsAuthenticationTicket (
    version : int, 
    name : String, 
    issueDate : DateTime, 
    expiration : DateTime, 
    isPersistent : boolean, 
    userData : String, 
    cookiePath : String
)

パラメータ

version

チケットのバージョン番号。

name

チケットに関連付けられているユーザー名。

issueDate

チケットが発行されたローカルの日付と時刻。

expiration

チケットの有効期限が切れるローカルの日付と時刻。

isPersistent

チケットを、複数のブラウザ セッションにわたって保存される永続的な Cookie に格納する場合は true。それ以外の場合は false。チケットが URL に格納される場合には、この値は無視されます。

userData

チケットに格納されるユーザー固有のデータ。

cookiePath

Cookie に格納される場合のチケットのパス。

解説解説
メモメモ

userData パラメータを null 参照 (Visual Basic では Nothing) にすることはできません。

使用例使用例

FormsCookieName プロパティを使用して Encrypt メソッドの結果を Cookie に格納し、GetRedirectUrl メソッドから返される URL にユーザーをリダイレクトするコード例を次に示します。

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security"
 %>
<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
 = PersistCheckBox.Checked

    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>
<head>
    <title>Forms Authentication Login</title>
</head>
<body>
    <form runat="server">
        <span style="BACKGROUND: #80ff80"> 
          <h3>Login Page</h3>
        </span> 
        <asp:Label id="Msg" ForeColor="maroon"
 runat="server" /><P>
        <table border=0>
            <tbody>
                <tr>
                    <td>Username:</td>
                    <td><asp:TextBox id="UserNameTextBox"
 type="text" 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>
                <tr>
                    <td>Check here if this is
 <u>not</u><br>a public computer:</td>
                    <td><asp:CheckBox id="PersistCheckBox"
 runat="server" autopostback="true"
 /></td>
                </tr>
            </tbody>
        </table>
        <input type="submit" value="Login"
 runat="server" onserverclick="Login_Click"
 />
    </form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<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 = PersistCheckBox.Checked;

    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>
<head>
    <title>Forms Authentication Login</title>
</head>
<body>
    <form runat="server">
        <span style="BACKGROUND: #80ff80"> 
          <h3>Login Page</h3>
        </span> 
        <asp:Label id="Msg" ForeColor="maroon" runat="server"
 /><P>
        <table border=0>
            <tbody>
                <tr>
                    <td>Username:</td>
                    <td><asp:TextBox id="UserNameTextBox" type="text"
 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>
                <tr>
                    <td>Check here if this
 is <u>not</u><br>a public computer:</td>
                    <td><asp:CheckBox id="PersistCheckBox" runat="server"
 autopostback="true" /></td>
                </tr>
            </tbody>
        </table>
        <input type="submit" value="Login" runat="server"
 onserverclick="Login_Click" />
    </form>
</body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
FormsAuthenticationTicket クラス
FormsAuthenticationTicket メンバ
System.Web.Security 名前空間
その他の技術情報
フォーム認証プロバイダ

FormsAuthenticationTicket コンストラクタ

FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。 フォーム認証プロバイダ
オーバーロードの一覧オーバーロードの一覧

名前 説明
FormsAuthenticationTicket (String, Boolean, Int32) Cookie 名と例外情報を使用して、FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。
FormsAuthenticationTicket (Int32, String, DateTime, DateTime, Boolean, String) Cookie 名、バージョン、有効期限、発行日時、永続性、およびユーザー固有のデータで FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。Cookie パスは、アプリケーションの構成ファイル内で設定されている既定値になります。
FormsAuthenticationTicket (Int32, String, DateTime, DateTime, Boolean, String, String) Cookie 名、バージョン、ディレクトリ パス、発行日時、有効期限、永続性、およびユーザー定義のデータで FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。
参照参照

関連項目

FormsAuthenticationTicket クラス
FormsAuthenticationTicket メンバ
System.Web.Security 名前空間

その他の技術情報

フォーム認証プロバイダ

FormsAuthenticationTicket コンストラクタ (String, Boolean, Int32)

Cookie 名と例外情報を使用して、FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    name As String, _
    isPersistent As Boolean, _
    timeout As Integer _
)
Dim name As String
Dim isPersistent As Boolean
Dim timeout As Integer

Dim instance As New FormsAuthenticationTicket(name,
 isPersistent, timeout)
public FormsAuthenticationTicket (
    string name,
    bool isPersistent,
    int timeout
)
public:
FormsAuthenticationTicket (
    String^ name, 
    bool isPersistent, 
    int timeout
)
public FormsAuthenticationTicket (
    String name, 
    boolean isPersistent, 
    int timeout
)
public function FormsAuthenticationTicket (
    name : String, 
    isPersistent : boolean, 
    timeout : int
)

パラメータ

name

チケットに関連付けられているユーザー名。

isPersistent

チケットを、複数のブラウザ セッションにわたって保存される永続的な Cookie に格納する場合は true。それ以外の場合は false。チケットが URL に格納される場合には、この値は無視されます。

timeout

認証チケットの有効期間 (分単位)。

解説解説

このコンストラクタで作成される FormsAuthenticationTicket オブジェクトでは、CookiePath 値は FormsCookiePath プロパティ値に、Version 値は 2 に、IssueDate 値は現在のローカル日時に、UserData 値は空の文字列 ("") に、および Expiration 値は現在のローカル日時に timeout パラメータの値を加えた値に設定されます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
FormsAuthenticationTicket クラス
FormsAuthenticationTicket メンバ
System.Web.Security 名前空間
その他の技術情報
フォーム認証プロバイダ

FormsAuthenticationTicket プロパティ


FormsAuthenticationTicket メソッド


FormsAuthenticationTicket メンバ

フォーム認証でユーザーを識別するために使用されるチケットのプロパティと値へのアクセスを提供します。このクラスは継承できません。

FormsAuthenticationTicket データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド FormsAuthenticationTicket オーバーロードされます。 FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

FormsAuthenticationTicket クラス
System.Web.Security 名前空間

その他の技術情報

フォーム認証プロバイダ



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「FormsAuthenticationTicket」の関連用語

FormsAuthenticationTicketのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



FormsAuthenticationTicketのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS