FormsAuthenticationTicket Classe

Definizione

Consente di accedere alle proprietà e ai valori del ticket utilizzato nell'autenticazione basata su form per identificare gli utenti.Provides access to properties and values of the ticket used with forms authentication to identify users. La classe non può essere ereditata.This class cannot be inherited.

public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
Ereditarietà
FormsAuthenticationTicket
Attributi

Esempio

Nell'esempio di codice seguente viene archiviato il risultato del Encrypt metodo in un cookie utilizzando l'oggetto FormsCookieName e l'utente viene reindirizzato all'URL restituito dal GetRedirectUrl metodo.The following code example stores the result of the Encrypt method in a cookie using the FormsCookieName and redirects the user to the URL returned from the GetRedirectUrl method.

Importante

Questo esempio contiene una casella di testo che accetta l'input dell'utente, che rappresenta una potenziale minaccia per la sicurezza.This example contains a text box that accepts user input, which is a potential security threat. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.For more information, see Script Exploits Overview.

<%@ 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.The FormsAuthenticationTicket class is used to create an object that represents the authentication ticket that is used by forms authentication to identify an authenticated user. 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.The properties and values of a forms-authentication ticket are converted to and from an encrypted string that is stored in a cookie or in the 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 .The FormsAuthentication class provides an Encrypt method to create a string value that can be stored in a cookie or in the URL from a 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.The FormsAuthentication class also provides a Decrypt method to create a FormsAuthenticationTicket object from the encrypted authentication ticket retrieved from the forms-authentication cookie or the URL.

FormsAuthenticationTicketPer accedere all'utente autenticato corrente è possibile utilizzare la Ticket proprietà della FormsIdentity classe.The FormsAuthenticationTicket for the current authenticated user can be accessed using the Ticket property of the FormsIdentity class. È possibile accedere all' FormsIdentity oggetto corrente eseguendo il cast della Identity proprietà dell'oggetto corrente User come tipo FormsIdentity .You can access the current FormsIdentity object by casting the Identity property of the current User as type 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.Initializes a new instance of the FormsAuthenticationTicket class with cookie name, version, expiration date, issue date, persistence, and user-specific data. Il percorso del cookie è impostato sul valore predefinito stabilito nel file di configurazione dell'applicazione.The cookie path is set to the default value established in the application's configuration file.

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.Initializes a new instance of the FormsAuthenticationTicket class with cookie name, version, directory path, issue date, expiration date, persistence, and user-defined data.

FormsAuthenticationTicket(String, Boolean, Int32)

Inizializza una nuova istanza della classe FormsAuthenticationTicket tramite il nome di un cookie e le informazioni sulla scadenza.Initializes a new instance of the FormsAuthenticationTicket class using a cookie name and expiration information.

Proprietà

CookiePath

Ottiene il percorso del cookie del ticket di autenticazione basata su form.Gets the cookie path for the forms-authentication ticket.

Expiration

Ottiene data e ora locali in cui il ticket di autenticazione basata su form scade.Gets the local date and time at which the forms-authentication ticket expires.

Expired

Ottiene un valore che indica se il ticket di autenticazione basata su form è scaduto.Gets a value indicating whether the forms-authentication ticket has expired.

IsPersistent

Ottiene un valore che indica se il cookie contenente il ticket di autenticazione basata su form è persistente.Gets a value indicating whether the cookie that contains the forms-authentication ticket information is persistent.

IssueDate

Ottiene data e ora locali in cui il ticket di autenticazione basata su form è stato inizialmente emesso.Gets the local date and time at which the forms-authentication ticket was originally issued.

Name

Ottiene il nome utente associato al ticket di autenticazione basta su form.Gets the user name associated with the forms-authentication ticket.

UserData

Ottiene una stringa specifica dell'utente memorizzata nel ticket.Gets a user-specific string stored with the ticket.

Version

Ottiene il numero di versione del ticket.Gets the version number of the ticket.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche