FormsAuthenticationTicket Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia dostęp do właściwości i wartości biletu używanego z uwierzytelnianiem formularzy do identyfikowania użytkowników. Klasa ta nie może być dziedziczona.
public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
- Dziedziczenie
-
FormsAuthenticationTicket
- Atrybuty
Przykłady
Poniższy przykład kodu przechowuje wynik Encrypt metody w pliku cookie przy użyciu elementu FormsCookieName i przekierowuje użytkownika do adresu URL zwróconego GetRedirectUrl z metody .
Ważne
Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).
<%@ 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>
Uwagi
Klasa FormsAuthenticationTicket służy do tworzenia obiektu reprezentującego bilet uwierzytelniania używany przez uwierzytelnianie formularzy do identyfikowania uwierzytelnionego użytkownika. Właściwości i wartości biletu uwierzytelniania formularzy są konwertowane na i z zaszyfrowanego ciągu przechowywanego w pliku cookie lub w adresie URL.
Klasa FormsAuthentication udostępnia metodę Encrypt tworzenia wartości ciągu, która może być przechowywana w pliku cookie lub w adresie URL z elementu FormsAuthenticationTicket. Klasa FormsAuthentication udostępnia również metodę DecryptFormsAuthenticationTicket tworzenia obiektu z zaszyfrowanego biletu uwierzytelniania pobranego z pliku cookie uwierzytelniania formularzy lub adresu URL.
Dostęp FormsAuthenticationTicket do elementu dla bieżącego uwierzytelnionego użytkownika można uzyskać przy użyciu Ticket właściwości FormsIdentity klasy . Dostęp do bieżącego FormsIdentity obiektu można uzyskać, odlewanie Identity właściwości bieżącej User jako typu FormsIdentity.
Konstruktory
FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String) |
Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy z nazwą pliku cookie, wersją, datą wygaśnięcia, datą wydania, trwałością i danymi specyficznymi dla użytkownika. Ścieżka pliku cookie jest ustawiona na wartość domyślną ustanowioną w pliku konfiguracji aplikacji. |
FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String) |
Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy z nazwą pliku cookie, wersją, ścieżką katalogu, datą wydania, datą wygaśnięcia, trwałością i danymi zdefiniowanymi przez użytkownika. |
FormsAuthenticationTicket(String, Boolean, Int32) |
Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy przy użyciu nazwy pliku cookie i informacji o wygaśnięciu. |
Właściwości
CookiePath |
Pobiera ścieżkę pliku cookie dla biletu uwierzytelniania formularzy. |
Expiration |
Pobiera lokalną datę i godzinę wygaśnięcia biletu uwierzytelniania formularzy. |
Expired |
Pobiera wartość wskazującą, czy bilet uwierzytelniania formularzy wygasł. |
IsPersistent |
Pobiera wartość wskazującą, czy plik cookie zawierający informacje o bilecie uwierzytelniania formularzy jest trwały. |
IssueDate |
Pobiera lokalną datę i godzinę, o której pierwotnie wydano bilet uwierzytelniania formularzy. |
Name |
Pobiera nazwę użytkownika skojarzona z biletem uwierzytelniania formularzy. |
UserData |
Pobiera ciąg specyficzny dla użytkownika przechowywany w bilecie. |
Version |
Pobiera numer wersji biletu. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |