FormsAuthenticationTicket クラス
アセンブリ: System.Web (system.web.dll 内)


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.Web.Security.FormsAuthenticationTicket


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


FormsAuthenticationTicket コンストラクタ (Int32, String, DateTime, DateTime, Boolean, String)
アセンブリ: 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 )

このコンストラクタで作成される FormsAuthenticationTicket オブジェクトの CookiePath 値は FormsCookiePath の値に設定されます。
![]() |
---|
userData パラメータを null 参照 (Visual Basic では Nothing) にすることはできません。 |

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


FormsAuthenticationTicket コンストラクタ (Int32, String, DateTime, DateTime, Boolean, String, String)
アセンブリ: 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 )

![]() |
---|
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>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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 コンストラクタ (String, Boolean, Int32)
アセンブリ: System.Web (system.web.dll 内)

Dim name As String Dim isPersistent As Boolean Dim timeout As Integer Dim instance As New FormsAuthenticationTicket(name, isPersistent, timeout)

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

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


FormsAuthenticationTicket プロパティ

名前 | 説明 | |
---|---|---|
![]() | CookiePath | フォーム認証チケットの Cookie パスを取得します。 |
![]() | Expiration | フォーム認証チケットの有効期限が切れるローカルの日付と時刻を取得します。 |
![]() | Expired | フォーム認証チケットの有効期限が切れているかどうかを示す値を取得します。 |
![]() | IsPersistent | フォーム認証チケット情報を格納する Cookie が永続的であるかどうかを示す値を取得します。 |
![]() | IssueDate | フォーム認証チケットが最初に発行されたローカルの日付と時刻を取得します。 |
![]() | Name | フォーム認証チケットに関連付けられているユーザー名を取得します。 |
![]() | UserData | チケットと共に格納されるユーザー固有の文字列を取得します。 |
![]() | Version | チケットのバージョン番号を取得します。 |

FormsAuthenticationTicket メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

FormsAuthenticationTicket メンバ
フォーム認証でユーザーを識別するために使用されるチケットのプロパティと値へのアクセスを提供します。このクラスは継承できません。
FormsAuthenticationTicket データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | CookiePath | フォーム認証チケットの Cookie パスを取得します。 |
![]() | Expiration | フォーム認証チケットの有効期限が切れるローカルの日付と時刻を取得します。 |
![]() | Expired | フォーム認証チケットの有効期限が切れているかどうかを示す値を取得します。 |
![]() | IsPersistent | フォーム認証チケット情報を格納する Cookie が永続的であるかどうかを示す値を取得します。 |
![]() | IssueDate | フォーム認証チケットが最初に発行されたローカルの日付と時刻を取得します。 |
![]() | Name | フォーム認証チケットに関連付けられているユーザー名を取得します。 |
![]() | UserData | チケットと共に格納されるユーザー固有の文字列を取得します。 |
![]() | Version | チケットのバージョン番号を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- FormsAuthenticationTicketのページへのリンク