FormsAuthentication Clase

Definición

Administra los servicios de autenticación de formularios para las aplicaciones Web. Esta clase no puede heredarse.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
Herencia
FormsAuthentication

Ejemplos

En el ejemplo de código siguiente se muestra el archivo Web.config para una aplicación de ASP.NET que usa el proveedor de pertenencia ASP.NET para la autenticación de formularios y requiere que todos los usuarios se autentiquen.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
      <providers>
        <add name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          passwordFormat="Hashed"
          applicationName="/" />
      </providers>
    </membership>
  </system.web>
</configuration>

En el ejemplo de código siguiente se muestra la página de inicio de sesión de una aplicación de ASP.NET que usa la autenticación de formularios y ASP.NET pertenencia.

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">

public void Login_OnClick(object sender, EventArgs args)
{
   if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
   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>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</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">

Public Sub Login_OnClick(sender As Object, args As  EventArgs)

   If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
   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>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>

Comentarios

La autenticación de formularios permite la validación de usuarios y contraseñas para aplicaciones web que no requieren autenticación de Windows. Con la autenticación de formularios, la información del usuario se almacena en un origen de datos externo, como una Membership base de datos o en el archivo de configuración de una aplicación. Una vez autenticado un usuario, la autenticación de formularios mantiene un vale de autenticación en una cookie o en la dirección URL para que un usuario autenticado no necesite proporcionar credenciales con cada solicitud.

La autenticación de formularios está habilitada estableciendo el mode atributo del elemento de configuración de autenticación en Forms. Puede requerir que todas las solicitudes a una aplicación contengan un vale de autenticación de usuario válido mediante el elemento de configuración de autorización para denegar la solicitud de cualquier usuario desconocido, como se muestra en el ejemplo siguiente.

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="login.aspx" />
  </authentication>
  <authorization>
    <deny users="?" />
  </authorization>
</system.web>

En el ejemplo anterior, cualquier solicitud de una página de ASP.NET que forme parte de la aplicación requiere un nombre de usuario válido proporcionado por la autenticación de formularios. Si no existe ningún nombre de usuario, la solicitud se redirige al configurado LoginUrl.

La FormsAuthentication clase proporciona acceso a métodos y propiedades que puede usar en una aplicación que autentica a los usuarios. El RedirectToLoginPage método redirige un explorador al configurado LoginUrl para que los usuarios inicien sesión en una aplicación. El RedirectFromLoginPage método redirige un usuario autenticado de nuevo a la dirección URL protegida original solicitada o a .DefaultUrl También hay métodos que permiten administrar vales de autenticación de formularios, si es necesario.

Constructores

FormsAuthentication()

Inicializa una nueva instancia de la clase FormsAuthentication.

Propiedades

CookieDomain

Obtiene el valor del dominio de la cookie de autenticación de formularios.

CookieMode

Obtiene un valor que indica si la aplicación está configurada para autenticación mediante formularios sin cookies.

CookieSameSite

Obtiene o establece el valor del atributo SameSite de la cookie.

CookiesSupported

Obtiene un valor que indica si la aplicación está configurada para admitir la autenticación mediante formularios sin cookies.

DefaultUrl

Obtiene la dirección URL a la que se redirigirá la clase FormsAuthentication si no se especifica ninguna dirección URL de redireccionamiento.

EnableCrossAppRedirects

Obtiene un valor que indica si los usuarios autenticados se pueden redirigir a direcciones URL de otras aplicaciones Web.

FormsCookieName

Obtiene el nombre de la cookie utilizada para almacenar el vale de autenticación de formularios.

FormsCookiePath

Obtiene la ruta de acceso para la cookie de autenticación de formularios.

IsEnabled

Obtiene un valor que indica si el la autenticación de formularios está habilitada.

LoginUrl

Obtiene la dirección URL de la página de inicio de sesión a la que se redirigirá la clase FormsAuthentication.

RequireSSL

Obtiene un valor que indica si la cookie de autenticación de formularios requiere SSL para su devolución al servidor.

SlidingExpiration

Obtiene un valor que indica si está habilitado el plazo de expiración.

TicketCompatibilityMode

Obtiene un valor que indica si se va a usar la Hora universal coordinada (UTC) o la hora local para la fecha de expiración del vale.

Timeout

Obtiene la cantidad de tiempo antes de que expire un vale de autenticación.

Métodos

Authenticate(String, String)
Obsoletos.

Valida un nombre de usuario y contraseña contra credenciales almacenadas en el archivo de configuración de una aplicación.

Decrypt(String)

Crea un objeto FormsAuthenticationTicket basado en el vale de autenticación de formularios cifrado que se pasa al método.

EnableFormsAuthentication(NameValueCollection)

Habilita la autenticación de formularios.

Encrypt(FormsAuthenticationTicket)

Crea una cadena que contiene un vale de autenticación de formularios cifrado apto para utilizarlo en una cookie HTTP.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetAuthCookie(String, Boolean)

Crea una cookie de autenticación para un nombre de usuario dado. Esto no establece la cookie como parte de la respuesta de salida, de modo que una aplicación pueda tener más control sobre cómo se emite la cookie.

GetAuthCookie(String, Boolean, String)

Crea una cookie de autenticación para un nombre de usuario dado. Esto no establece la cookie como parte de la respuesta saliente.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetRedirectUrl(String, Boolean)

Devuelve la URL redirigida de la solicitud original causante de la redirección a la página de inicio de sesión.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
HashPasswordForStoringInConfigFile(String, String)
Obsoletos.

Genera una contraseña con algoritmo hash apropiada para almacenar en un archivo de configuración basándose en la contraseña y el algoritmo hash especificados.

Initialize()

Inicializa el objeto FormsAuthentication basándose en las opciones de configuración de la aplicación.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
RedirectFromLoginPage(String, Boolean)

Redirige al usuario autenticado hacia la dirección URL originalmente solicitada o a la dirección URL predeterminada.

RedirectFromLoginPage(String, Boolean, String)

Redirige a un usuario autenticado a la dirección URL originalmente solicitada o la dirección URL predeterminada utilizando la ruta de acceso de cookies especificada para la cookie de autenticación de formularios.

RedirectToLoginPage()

Redirige el explorador a la dirección URL de inicio de sesión.

RedirectToLoginPage(String)

Redirige el explorador a la dirección URL de inicio de sesión con la cadena de consulta especificada.

RenewTicketIfOld(FormsAuthenticationTicket)

Actualiza condicionalmente la fecha y hora de emisión y de expiración para FormsAuthenticationTicket.

SetAuthCookie(String, Boolean)

Crea un vale de autenticación para el nombre de usuario proporcionado y lo agrega a la colección de cookies de la respuesta o a la dirección URL si se usa la autenticación sin cookies.

SetAuthCookie(String, Boolean, String)

Crea un vale de autenticación para el nombre de usuario proporcionado y lo agrega a la colección de cookies de la respuesta, utilizando la ruta de cookies suministrada, o a la dirección URL si se usa la autenticación sin cookies.

SignOut()

Quita el vale de autenticación de formularios del explorador.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también