Compartir a través de


FormsAuthenticationTicket Constructores

Definición

Inicializa una nueva instancia de la clase FormsAuthenticationTicket.

Sobrecargas

FormsAuthenticationTicket(String, Boolean, Int32)

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

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

Inicializa una nueva instancia de la clase FormsAuthenticationTicket con nombre de cookie, versión, fecha de expiración, fecha de emisión, persistencia y datos específicos del usuario. La ruta de cookies 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 FormsAuthenticationTicket con nombre de cookie, versión, ruta de acceso del directorio, fecha de expiración, fecha de emisión, persistencia y datos definidos por el usuario.

FormsAuthenticationTicket(String, Boolean, Int32)

Inicializa una nueva instancia de la clase FormsAuthenticationTicket con un nombre de cookie y la 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

Es true si el vale se almacena en una cookie persistente (que se guarda en cada sesión del explorador); en caso contrario, es false. Si el vale se almacena en la dirección URL, se omite este valor.

timeout
Int32

La hora, en minutos, durante la cual es válido el vale de autenticación.

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 FormsAuthenticationTicket con nombre de cookie, versión, fecha de expiración, fecha de emisión, persistencia y datos específicos del usuario. La ruta de cookies 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 local en las que se emitió el vale.

expiration
DateTime

Fecha y hora local en las que expira el vale.

isPersistent
Boolean

Es true si el vale se almacena en una cookie persistente (que se guarda en cada sesión del explorador); en caso contrario, es false. Si el vale se almacena en la dirección URL, se omite este valor.

userData
String

Datos específicos del usuario que se van a almacenar en la cookie.

Comentarios

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

Nota

El parámetro userData 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 FormsAuthenticationTicket con nombre de cookie, versión, ruta de acceso del directorio, fecha de expiración, fecha de emisión, persistencia y 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 local en las que se emitió el vale.

expiration
DateTime

Fecha y hora local en las que expira el vale.

isPersistent
Boolean

Es true si el vale se almacena en una cookie persistente (que se guarda en cada sesión del explorador); en caso contrario, es false. Si el vale se almacena en la dirección URL, se omite este valor.

userData
String

Datos específicos del usuario que se van a almacenar en la cookie.

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 Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.

<%@ 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 parámetro userData no puede ser null.

Consulte también

Se aplica a