FormsAuthenticationTicket Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente di accedere alle proprietà e ai valori del ticket utilizzato nell'autenticazione basata su form per identificare gli utenti. La classe non può essere ereditata.
public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
- Ereditarietà
-
FormsAuthenticationTicket
- Attributi
Esempio
L'esempio di codice seguente archivia il risultato del Encrypt metodo in un cookie usando FormsCookieName e reindirizza l'utente all'URL restituito dal GetRedirectUrl metodo .
Importante
Questo esempio contiene una casella di testo che accetta l'input dell'utente, che rappresenta una potenziale minaccia per la sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.
<%@ 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>
Commenti
La FormsAuthenticationTicket classe viene utilizzata per creare un oggetto che rappresenta il ticket di autenticazione utilizzato dall'autenticazione basata su form per identificare un utente autenticato. Le proprietà e i valori di un ticket di autenticazione basata su form vengono convertiti in e da una stringa crittografata archiviata in un cookie o nell'URL.
La FormsAuthentication classe fornisce un Encrypt metodo per creare un valore stringa che può essere archiviato in un cookie o nell'URL da un oggetto FormsAuthenticationTicket. La FormsAuthentication classe fornisce anche un Decrypt metodo per creare un FormsAuthenticationTicket oggetto dal ticket di autenticazione crittografato recuperato dal cookie di autenticazione basata su form o dall'URL.
È FormsAuthenticationTicket possibile accedere all'oggetto per l'utente autenticato corrente usando la Ticket proprietà della FormsIdentity classe . È possibile accedere all'oggetto corrente FormsIdentity eseguendo il cast della Identity proprietà dell'oggetto corrente User come tipo FormsIdentity.
Costruttori
FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String) |
Inizializza una nuova istanza della classe FormsAuthenticationTicket con nome, versione, data di scadenza, data di invio e persistenza del cookie e i dati specifici dell'utente. Il percorso del cookie è impostato sul valore predefinito stabilito nel file di configurazione dell'applicazione. |
FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String) |
Inizializza una nuova istanza della classe FormsAuthenticationTicket con nome, versione, percorso di directory, data di scadenza, data di invio e persistenza del cookie e i dati definiti dall'utente. |
FormsAuthenticationTicket(String, Boolean, Int32) |
Inizializza una nuova istanza della classe FormsAuthenticationTicket tramite il nome di un cookie e le informazioni sulla scadenza. |
Proprietà
CookiePath |
Ottiene il percorso del cookie del ticket di autenticazione basata su form. |
Expiration |
Ottiene data e ora locali in cui il ticket di autenticazione basata su form scade. |
Expired |
Ottiene un valore che indica se il ticket di autenticazione basata su form è scaduto. |
IsPersistent |
Ottiene un valore che indica se il cookie contenente il ticket di autenticazione basata su form è persistente. |
IssueDate |
Ottiene data e ora locali in cui il ticket di autenticazione basata su form è stato inizialmente emesso. |
Name |
Ottiene il nome utente associato al ticket di autenticazione basta su form. |
UserData |
Ottiene una stringa specifica dell'utente memorizzata nel ticket. |
Version |
Ottiene il numero di versione del ticket. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |