Condividi tramite


FormsAuthenticationTicket Costruttori

Definizione

Inizializza una nuova istanza della classe FormsAuthenticationTicket.

Overload

Nome Descrizione
FormsAuthenticationTicket(String, Boolean, Int32)

Inizializza una nuova istanza della FormsAuthenticationTicket classe utilizzando un nome di cookie e le informazioni di scadenza.

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String)

Inizializza una nuova istanza della FormsAuthenticationTicket classe con nome cookie, versione, data di scadenza, data di emissione, persistenza e dati specifici dell'utente. Il percorso del cookie viene impostato sul valore predefinito stabilito nel file di configurazione dell'applicazione.

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String)

Inizializza una nuova istanza della FormsAuthenticationTicket classe con nome cookie, versione, percorso della directory, data di emissione, data di scadenza, persistenza e dati definiti dall'utente.

FormsAuthenticationTicket(String, Boolean, Int32)

Inizializza una nuova istanza della FormsAuthenticationTicket classe utilizzando un nome di cookie e le informazioni di scadenza.

public:
 FormsAuthenticationTicket(System::String ^ name, bool isPersistent, int timeout);
public FormsAuthenticationTicket(string name, bool isPersistent, int timeout);
new System.Web.Security.FormsAuthenticationTicket : string * bool * int -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (name As String, isPersistent As Boolean, timeout As Integer)

Parametri

name
String

Nome utente associato al ticket.

isPersistent
Boolean

true se il ticket verrà archiviato in un cookie permanente (salvato tra le sessioni del browser); in caso contrario, false. Se il ticket viene archiviato nell'URL, questo valore viene ignorato.

timeout
Int32

Tempo, espresso in minuti, per il quale il ticket di autenticazione è valido.

Commenti

L'oggetto FormsAuthenticationTicket creato da questo costruttore avrà un CookiePath valore impostato sul valore della FormsCookiePath proprietà, un Version valore pari a 2, un IssueDate valore della data e dell'ora locali correnti, un UserData valore di una stringa vuota ("") e un Expiration valore impostato sulla data e l'ora locali correnti più il valore del timeout parametro.

Vedi anche

Si applica a

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String)

Inizializza una nuova istanza della FormsAuthenticationTicket classe con nome cookie, versione, data di scadenza, data di emissione, persistenza e dati specifici dell'utente. Il percorso del cookie viene impostato sul valore predefinito stabilito nel file di configurazione dell'applicazione.

public:
 FormsAuthenticationTicket(int version, System::String ^ name, DateTime issueDate, DateTime expiration, bool isPersistent, System::String ^ userData);
public FormsAuthenticationTicket(int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData);
new System.Web.Security.FormsAuthenticationTicket : int * string * DateTime * DateTime * bool * string -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (version As Integer, name As String, issueDate As DateTime, expiration As DateTime, isPersistent As Boolean, userData As String)

Parametri

version
Int32

Numero di versione del ticket.

name
String

Nome utente associato al ticket.

issueDate
DateTime

Data e ora locali in cui è stato emesso il ticket.

expiration
DateTime

Data e ora locali in cui scade il ticket.

isPersistent
Boolean

true se il ticket verrà archiviato in un cookie permanente (salvato tra le sessioni del browser); in caso contrario, false. Se il ticket viene archiviato nell'URL, questo valore viene ignorato.

userData
String

Dati specifici dell'utente da archiviare con il ticket.

Commenti

L'oggetto FormsAuthenticationTicket creato da questo costruttore avrà un CookiePath valore impostato sul valore di FormsCookiePath.

Annotazioni

Il userData parametro non può essere null.

Vedi anche

Si applica a

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String)

Inizializza una nuova istanza della FormsAuthenticationTicket classe con nome cookie, versione, percorso della directory, data di emissione, data di scadenza, persistenza e dati definiti dall'utente.

public:
 FormsAuthenticationTicket(int version, System::String ^ name, DateTime issueDate, DateTime expiration, bool isPersistent, System::String ^ userData, System::String ^ cookiePath);
public FormsAuthenticationTicket(int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData, string cookiePath);
new System.Web.Security.FormsAuthenticationTicket : int * string * DateTime * DateTime * bool * string * string -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (version As Integer, name As String, issueDate As DateTime, expiration As DateTime, isPersistent As Boolean, userData As String, cookiePath As String)

Parametri

version
Int32

Numero di versione del ticket.

name
String

Nome utente associato al ticket.

issueDate
DateTime

Data e ora locali in cui è stato emesso il ticket.

expiration
DateTime

Data e ora locali in cui scade il ticket.

isPersistent
Boolean

true se il ticket verrà archiviato in un cookie permanente (salvato tra le sessioni del browser); in caso contrario, false. Se il ticket viene archiviato nell'URL, questo valore viene ignorato.

userData
String

Dati specifici dell'utente da archiviare con il ticket.

cookiePath
String

Percorso del ticket archiviato in un cookie.

Esempio

L'esempio di codice seguente archivia il risultato del Encrypt metodo in un cookie usando la FormsCookieName proprietà 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, ASP.NET pagine Web verificare che l'input dell'utente non includa elementi SCRIPT o HTML. Per altre informazioni, vedere Cenni preliminari sugli exploit di 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

Annotazioni

Il userData parametro non può essere null.

Vedi anche

Si applica a