次の方法で共有


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(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 チケットが永続的なクッキー(ブラウザセッション間で保存される)に保存される場合。それ以外の場合は false。 チケットが URL に格納されている場合、この値は無視されます。

timeout
Int32

認証チケットが有効な時間 (分)。

注釈

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

こちらもご覧ください

適用対象

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

cookie 名、バージョン、有効期限、発行日、永続化、およびユーザー固有のデータを使用して、 FormsAuthenticationTicket クラスの新しいインスタンスを初期化します。 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 チケットが永続的なクッキー(ブラウザセッション間で保存される)に保存される場合。それ以外の場合は false。 チケットが URL に格納されている場合、この値は無視されます。

userData
String

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

注釈

このコンストラクターによって作成されたFormsAuthenticationTicket オブジェクトには、FormsCookiePathの値にCookiePath値が設定されます。

userData パラメーターをnullすることはできません。

こちらもご覧ください

適用対象

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

cookie 名、バージョン、ディレクトリ パス、発行日、有効期限、永続化、およびユーザー定義データを使用して、 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

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

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

Important

この例には、潜在的なセキュリティ上の脅威であるユーザー入力を受け入れるテキスト ボックスが含まれています。 既定では、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することはできません。

こちらもご覧ください

適用対象