FormsAuthenticationTicket Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje přístup k vlastnostem a hodnotám lístku použitého s ověřováním pomocí formulářů k identifikaci uživatelů. Tuto třídu nelze zdědit.
public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
- Dědičnost
-
FormsAuthenticationTicket
- Atributy
Příklady
Následující příklad kódu ukládá výsledek Encrypt metody do souboru cookie pomocí FormsCookieName a přesměruje uživatele na adresu URL vrácenou z GetRedirectUrl metody.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že vstup uživatele neobsahuje skripty ani elementy HTML. Další informace naleznete v tématu Přehled zneužití skriptů.
<%@ 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>
Poznámky
Třída FormsAuthenticationTicket se používá k vytvoření objektu, který představuje ověřovací lístek, který je používán ověřováním pomocí formulářů k identifikaci ověřeného uživatele. Vlastnosti a hodnoty lístku ověřování pomocí formulářů se převedou na šifrovaný řetězec, který je uložený v souboru cookie nebo v adrese URL.
FormsAuthentication Třída poskytuje metodu Encrypt pro vytvoření řetězcové hodnoty, která může být uložena v souboru cookie nebo v adrese URL z .FormsAuthenticationTicket Třída FormsAuthentication také poskytuje metodu Decrypt pro vytvoření FormsAuthenticationTicket objektu z šifrovaného ověřovacího lístku načteného ze souboru cookie pro ověřování formulářů nebo adresy URL.
K FormsAuthenticationTicket aktuálnímu ověřenému uživateli je možné přistupovat pomocí Ticket vlastnosti FormsIdentity třídy. K aktuálnímu FormsIdentity objektu lze přistupovat přetypováním Identity vlastnosti aktuálního User typu FormsIdentity.
Konstruktory
| Name | Description |
|---|---|
| FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String) |
Inicializuje novou instanci FormsAuthenticationTicket třídy s názvem souboru cookie, verzí, cestou k adresáři, datem emise, datem vypršení platnosti, trvalostí a uživatelem definovanými daty. |
| FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String) |
Inicializuje novou instanci FormsAuthenticationTicket třídy s názvem souboru cookie, verzí, datem vypršení platnosti, datem vydání, trvalostí a uživatelskými daty. Cesta k souboru cookie je nastavena na výchozí hodnotu vytvořenou v konfiguračním souboru aplikace. |
| FormsAuthenticationTicket(String, Boolean, Int32) |
Inicializuje novou instanci FormsAuthenticationTicket třídy pomocí názvu souboru cookie a informací o vypršení platnosti. |
Vlastnosti
| Name | Description |
|---|---|
| CookiePath |
Získá cestu k souboru cookie pro lístek ověřování pomocí formulářů. |
| Expiration |
Získá místní datum a čas, kdy vyprší platnost lístku ověřování pomocí formulářů. |
| Expired |
Získá hodnotu označující, zda vypršela platnost lístku ověřování pomocí formulářů. |
| IsPersistent |
Získá hodnotu určující, zda soubor cookie obsahující informace o lístku ověřování pomocí formulářů je trvalý. |
| IssueDate |
Získá místní datum a čas, kdy byl původně vydán lístek ověřování pomocí formulářů. |
| Name |
Získá uživatelské jméno přidružené k lístku ověřování pomocí formulářů. |
| UserData |
Získá řetězec specifický pro uživatele uložený s lístkem. |
| Version |
Získá číslo verze lístku. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |