Compartir por


FormsAuthenticationTicket Constructores

Definición

Inicializa una nueva instancia de la clase FormsAuthenticationTicket.

Sobrecargas

Nombre Description
FormsAuthenticationTicket(String, Boolean, Int32)

Inicializa una nueva instancia de la FormsAuthenticationTicket clase utilizando un nombre de cookie e información de expiración.

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

Inicializa una nueva instancia de la clase con el nombre de cookie FormsAuthenticationTicket , la versión, la fecha de expiración, la fecha de emisión, la persistencia y los datos específicos del usuario. La ruta de acceso de cookie se establece en el valor predeterminado establecido en el archivo de configuración de la aplicación.

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

Inicializa una nueva instancia de la clase con el nombre de cookie FormsAuthenticationTicket , la versión, la ruta de acceso del directorio, la fecha de emisión, la fecha de expiración, la persistencia y los datos definidos por el usuario.

FormsAuthenticationTicket(String, Boolean, Int32)

Inicializa una nueva instancia de la FormsAuthenticationTicket clase utilizando un nombre de cookie e información de expiración.

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)

Parámetros

name
String

Nombre de usuario asociado al vale.

isPersistent
Boolean

true si el vale se almacenará en una cookie persistente (guardada en las sesiones del explorador); de lo contrario, false. Si el vale se almacena en la dirección URL, este valor se omite.

timeout
Int32

El tiempo, en minutos, para el que el vale de autenticación es válido.

Comentarios

El FormsAuthenticationTicket objeto creado por este constructor tendrá un CookiePath valor establecido en el valor de la FormsCookiePath propiedad, un Version valor de 2, un IssueDate valor de la fecha y hora local actual, un UserData valor de una cadena vacía ("") y un Expiration valor que se establece en la fecha y hora locales actuales más el valor del timeout parámetro.

Consulte también

Se aplica a

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

Inicializa una nueva instancia de la clase con el nombre de cookie FormsAuthenticationTicket , la versión, la fecha de expiración, la fecha de emisión, la persistencia y los datos específicos del usuario. La ruta de acceso de cookie se establece en el valor predeterminado establecido en el archivo de configuración de la aplicación.

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)

Parámetros

version
Int32

Número de versión del vale.

name
String

Nombre de usuario asociado al vale.

issueDate
DateTime

Fecha y hora locales en la que se emitió el vale.

expiration
DateTime

Fecha y hora locales a la que expira el vale.

isPersistent
Boolean

true si el vale se almacenará en una cookie persistente (guardada en las sesiones del explorador); de lo contrario, false. Si el vale se almacena en la dirección URL, este valor se omite.

userData
String

Datos específicos del usuario que se van a almacenar con el vale.

Comentarios

El FormsAuthenticationTicket objeto creado por este constructor tendrá un CookiePath valor establecido en el valor de FormsCookiePath.

Nota:

El userData parámetro no puede ser null.

Consulte también

Se aplica a

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

Inicializa una nueva instancia de la clase con el nombre de cookie FormsAuthenticationTicket , la versión, la ruta de acceso del directorio, la fecha de emisión, la fecha de expiración, la persistencia y los datos definidos por el usuario.

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)

Parámetros

version
Int32

Número de versión del vale.

name
String

Nombre de usuario asociado al vale.

issueDate
DateTime

Fecha y hora locales en la que se emitió el vale.

expiration
DateTime

Fecha y hora locales a la que expira el vale.

isPersistent
Boolean

true si el vale se almacenará en una cookie persistente (guardada en las sesiones del explorador); de lo contrario, false. Si el vale se almacena en la dirección URL, este valor se omite.

userData
String

Datos específicos del usuario que se van a almacenar con el vale.

cookiePath
String

Ruta de acceso del vale cuando se almacena en una cookie.

Ejemplos

En el ejemplo de código siguiente se almacena el resultado del Encrypt método en una cookie mediante la FormsCookieName propiedad y se redirige al usuario a la dirección URL devuelta desde el GetRedirectUrl método .

Importante

Este ejemplo contiene un cuadro de texto que acepta la entrada del usuario, que es una amenaza de seguridad potencial. De forma predeterminada, ASP.NET páginas web validan que la entrada del usuario no incluye elementos HTML ni de script. Para obtener más información, consulte Información general sobre vulnerabilidades de seguridad de 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>

Comentarios

Nota:

El userData parámetro no puede ser null.

Consulte también

Se aplica a