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 内)