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

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 contraseñas y usuarios 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 Formsde configuración de autenticación en . 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 a la configurada 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 a la dirección URL protegida original que se solicitó o a DefaultUrl. También hay métodos que permiten administrar vales de autenticación de formularios, si es necesario.

Constructores

Nombre Description
FormsAuthentication()

Inicializa una nueva instancia de la clase FormsAuthentication.

Propiedades

Nombre Description
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 la autenticación de 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 de formularios sin cookies.

DefaultUrl

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

EnableCrossAppRedirects

Obtiene un valor que indica si los usuarios autenticados se pueden redirigir a las 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 de la cookie de autenticación de formularios.

IsEnabled

Obtiene un valor que indica si 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 FormsAuthentication clase.

RequireSSL

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

SlidingExpiration

Obtiene un valor que indica si la expiración deslizante está habilitada.

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

Nombre Description
Authenticate(String, String)
Obsoletos.

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

Decrypt(String)

Crea un FormsAuthenticationTicket objeto 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 adecuado para su uso en una cookie HTTP.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetAuthCookie(String, Boolean, String)

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

GetAuthCookie(String, Boolean)

Crea una cookie de autenticación para un nombre de usuario determinado. Esto no establece la cookie como parte de la respuesta saliente, por lo que una aplicación puede tener más control sobre cómo se emite la cookie.

GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetRedirectUrl(String, Boolean)

Devuelve la dirección URL de redireccionamiento de la solicitud original que provocó 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 hash adecuada para almacenar en un archivo de configuración en función de la contraseña y el algoritmo hash especificados.

Initialize()

Inicializa el FormsAuthentication objeto en función de los valores de configuración de la aplicación.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
RedirectFromLoginPage(String, Boolean, String)

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

RedirectFromLoginPage(String, Boolean)

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

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 del problema y la fecha y hora de expiración de un FormsAuthenticationTicket.

SetAuthCookie(String, Boolean, String)

Crea un vale de autenticación para el nombre de usuario proporcionado y lo agrega a la recopilación de cookies de la respuesta, mediante la ruta de acceso de cookie proporcionada o mediante la dirección URL si usa la autenticación sin cookies.

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