次の方法で共有


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

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

注釈

このコンストラクターによって作成されるオブジェクトにはFormsAuthenticationTicketCookiePath、 プロパティのFormsCookiePath値、2 の値、Version現在のローカルの日付と時刻の値、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

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

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

重要

この例には、セキュリティ上の脅威となる可能性があるユーザー入力を受け入れるテキスト ボックスが含まれています。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは 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 を使用することはできません。

こちらもご覧ください

適用対象