次の方法で共有


FormsAuthenticationTicket クラス

FormsAuthenticationModule で使用されるフォーム認証 Cookie (認証チケットを含む Cookie) の値を作成し、読み取るための手段を提供します。このクラスは継承できません。

この型のすべてのメンバの一覧については、FormsAuthenticationTicket メンバ を参照してください。

System.Object
   System.Web.Security.FormsAuthenticationTicket

<Serializable>
NotInheritable Public Class FormsAuthenticationTicket
[C#]
[Serializable]
public sealed class FormsAuthenticationTicket
[C++]
[Serializable]
public __gc __sealed class FormsAuthenticationTicket
[JScript]
public
   Serializable
class FormsAuthenticationTicket

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

使用例

 
<%@ Page Language="VB" AutoEventWireup="true" %>
<script runat="server">

    Function Authenticated(email As String, password As String) As Boolean
    ' This method authenticates the user for the application.
    ' In this demonstration application it always returns
    ' true.

    Return True
    End Function

    Sub Login_Click(sender As Object, e As EventArgs)
    ' Create a custom FormsAuthenticationTicket containing
    ' application specific data for the user.

    Dim email As String         = UserEmail.Text
    Dim password As String      = UserPass.Text
    Dim isPersistent As Boolean = Persist.Checked

    if Authenticated(email,password) Then 

         Dim userData As String = "ApplicationSpecific data for this user."

       Dim ticket As New FormsAuthenticationTicket( _
        1, _
        email, _
        System.DateTime.Now, _
        System.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(email,isPersistent))
    End If
    End Sub

</script>
<html>
<head>
    <title>Forms Authentication Login</title>
</head>
<body>
    <form runat="server">
        <span style="BACKGROUND: #80ff80"> 
        <h3>Login Page</font>
        </h3>
        </span> 
        <table>
            <tbody>
                <tr>
                    <td>
                        e-mail:</td>
                    <td>
                        <asp:TextBox id="UserEmail" type="text" runat="server" /></td>
                    <td>
                        <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserEmail"></ASP:RequiredFieldValidator>
                    </td>
                    <td>
                        <asp:RegularExpressionValidator id="RegexValidator" runat="server" ErrorMessage="Invalid format for e-mail address." Display="Static" ControlToValidate="UserEmail" EnableClientScript="false" ValidationExpression="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        Password:</td>
                    <td>
                        <asp:TextBox id="UserPass" TextMode="Password" runat="server" /></td>
                    <td>
                        <ASP:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserPass"></ASP:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        Persistent Cookies:</td>
                    <td>
                        <asp:CheckBox id="Persist" runat="server" autopostback="true"></ASP:CheckBox>
                    </td>
                    <td>
                    </td>
                </tr>
            </tbody>
        </table>

        <input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
        <p>
            <asp:Label id="Msg" runat="server" ></asp:Label>
        </p>
    </form>
</body>
</html>

[C#] 
<%@ Page Language="C#" AutoEventWireup="true" %>
<script runat="server">

    private bool Authenticated(string email, string password)
    {
    // This method authenticates the user for the application.
    // In this demonstration application it always returns
    // true.

    return true;
    }

    private void Login_Click(Object sender, EventArgs e)
    {
    // Create a custom FormsAuthenticationTicket containing
    // application specific data for the user.

    string email        = UserEmail.Text;
    string password     = UserPass.Text;
    bool   isPersistent = Persist.Checked;

    if (Authenticated(email,password)) {

         string userData = "ApplicationSpecific data for this user.";

       FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
        1,
        email,
        System.DateTime.Now,
        System.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(email,isPersistent));
    }
    }

</script>
<html>
<head>
    <title>Forms Authentication Login</title>
</head>
<body>
    <form runat="server">
        <span style="BACKGROUND: #80ff80"> 
        <h3>Login Page</font>
        </h3>
        </span> 
        <table>
            <tbody>
                <tr>
                    <td>
                        e-mail:</td>
                    <td>
                        <asp:TextBox id="UserEmail" type="text" runat="server" /></td>
                    <td>
                        <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserEmail"></ASP:RequiredFieldValidator>
                    </td>
                    <td>
                        <asp:RegularExpressionValidator id="RegexValidator" runat="server" ErrorMessage="Invalid format for e-mail address." Display="Static" ControlToValidate="UserEmail" EnableClientScript="false" ValidationExpression="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        Password:</td>
                    <td>
                        <asp:TextBox id="UserPass" TextMode="Password" runat="server" /></td>
                    <td>
                        <ASP:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserPass"></ASP:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        Persistent Cookies:</td>
                    <td>
                        <asp:CheckBox id="Persist" runat="server" autopostback="true"></ASP:CheckBox>
                    </td>
                    <td>
                    </td>
                </tr>
            </tbody>
        </table>

        <input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
    </form>
</body>
</html>

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Web.Security

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Web (System.Web.dll 内)

参照

FormsAuthenticationTicket メンバ | System.Web.Security 名前空間