Partilhar via


FormsAuthentication Classe

Definição

Gerencia os serviços de autenticação de formulários para aplicativos Web. Essa classe não pode ser herdada.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
Herança
FormsAuthentication

Exemplos

O exemplo de código a seguir mostra o arquivo de Web.config para um aplicativo ASP.NET que usa o provedor de associação ASP.NET para autenticação de formulários e exige que todos os usuários sejam autenticados.

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

O exemplo de código a seguir mostra a página de logon de um aplicativo ASP.NET que usa autenticação de formulários e associação ASP.NET.

Importante

Este exemplo contém uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos html ou script. Para obter mais informações, consulte Visão geral de explorações 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>

Comentários

A autenticação de formulários permite a validação de usuário e senha para aplicativos Web que não exigem autenticação do Windows. Com a autenticação de formulários, as informações do usuário são armazenadas em uma fonte de dados externa, como um Membership banco de dados ou no arquivo de configuração de um aplicativo. Depois que um usuário é autenticado, a autenticação de formulários mantém um tíquete de autenticação em um cookie ou na URL para que um usuário autenticado não precise fornecer credenciais a cada solicitação.

A autenticação de formulários é habilitada definindo o mode atributo do elemento de configuração de autenticação como Forms. Você pode exigir que todas as solicitações para um aplicativo contenham um tíquete de autenticação de usuário válido usando o elemento de configuração de autorização para negar a solicitação de qualquer usuário desconhecido, conforme mostrado no exemplo a seguir.

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

No exemplo anterior, qualquer solicitação de uma página de ASP.NET que faz parte do aplicativo requer um nome de usuário válido fornecido pela autenticação de formulários. Se nenhum nome de usuário existir, a solicitação será redirecionada para o configurado LoginUrl.

A FormsAuthentication classe fornece acesso a métodos e propriedades que você pode usar em um aplicativo que autentica usuários. O RedirectToLoginPage método redireciona um navegador para o configurado LoginUrl para que os usuários façam logon em um aplicativo. O RedirectFromLoginPage método redireciona um usuário autenticado de volta para a URL protegida original que foi solicitada ou para o DefaultUrl. Também há métodos que permitem gerenciar tíquetes de autenticação de formulários, se necessário.

Construtores

FormsAuthentication()

Inicializa uma nova instância da classe FormsAuthentication.

Propriedades

CookieDomain

Obtém o valor do domínio do cookie de autenticação de formulários.

CookieMode

Obtém um valor que indica se o aplicativo está configurado para autenticação de formulários sem cookies.

CookieSameSite

Obtém ou define o valor do atributo SameSite do cookie.

CookiesSupported

Obtém um valor que indica se o aplicativo está configurado para dar suporte a autenticação de formulários sem cookies.

DefaultUrl

Obtém a URL para a qual a classe FormsAuthentication não será redirecionada se nenhuma URL de redirecionamento for especificada.

EnableCrossAppRedirects

Obtém um valor que indica se os usuários autenticados podem ser redirecionados para URLs em outros aplicativos Web.

FormsCookieName

Obtém o nome do cookie usado para armazenar o tíquete de autenticação de formulários.

FormsCookiePath

Obtém o caminho para o cookie de autenticação de formulários.

IsEnabled

Obtém um valor que indica se a autenticação de formulários está habilitada.

LoginUrl

Obtém a URL para a página de logon para a qual a classe FormsAuthentication será redirecionada.

RequireSSL

Obtém um valor que indica se o cookie de autenticação de formulários exige o SSL para ser retornado ao servidor.

SlidingExpiration

Obtém um valor que indica se a expiração deslizante está habilitada.

TicketCompatibilityMode

Obtém um valor que indica se UTC (Tempo Universal Coordenado) ou o horário local deve ser usado para a data de validade de tíquetes.

Timeout

Obtém a quantidade de tempo antes que um tíquete de autenticação expire.

Métodos

Authenticate(String, String)
Obsoleto.

Valida um nome de usuário e senha com relação às credenciais armazenadas no arquivo de configuração do aplicativo.

Decrypt(String)

Cria um objeto FormsAuthenticationTicket com base no tíquete de autenticação de formulários criptografado passado para o método.

EnableFormsAuthentication(NameValueCollection)

Habilita a autenticação de formulários.

Encrypt(FormsAuthenticationTicket)

Cria uma cadeia de caracteres que contém um tíquete de autenticação de formulários criptografado adequado para uso em um cookie HTTP.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAuthCookie(String, Boolean)

Cria um cookie de autenticação para um determinado nome de usuário. Isso não define o cookie como parte da resposta de saída, de modo que um aplicativo pode ter mais controle sobre como o cookie é emitido.

GetAuthCookie(String, Boolean, String)

Cria um cookie de autenticação para um determinado nome de usuário. Isso não define o cookie como parte da resposta de saída.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetRedirectUrl(String, Boolean)

Retorna a URL de redirecionamento para a solicitação original que causou o redirecionamento para a página de logon.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
HashPasswordForStoringInConfigFile(String, String)
Obsoleto.

Gera uma senha hash adequada para armazenar em um arquivo de configuração com base no algoritmo de hash e na senha especificados.

Initialize()

Inicializa o objeto FormsAuthentication de acordo com as definições de configuração do aplicativo.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RedirectFromLoginPage(String, Boolean)

Redireciona um usuário autenticado de volta para a URL solicitada originalmente ou a URL padrão.

RedirectFromLoginPage(String, Boolean, String)

Redireciona um usuário autenticado de volta para a URL solicitada originalmente ou para a URL padrão usando o caminho do cookie especificado para o cookie de autenticação de formulários.

RedirectToLoginPage()

Redireciona o navegador para a URL de logon.

RedirectToLoginPage(String)

Redireciona o navegador para a URL de logon com a cadeia de caracteres de consulta especificada.

RenewTicketIfOld(FormsAuthenticationTicket)

Atualiza, de forma condicional, a data de emissão, a hora e a data de expiração e o tempo de um FormsAuthenticationTicket.

SetAuthCookie(String, Boolean)

Cria um tíquete de autenticação para o nome de usuário fornecido e o adiciona à coleção de cookies de resposta ou à URL, se você estiver usando autenticação sem cookies.

SetAuthCookie(String, Boolean, String)

Cria um tíquete de autenticação para o nome de usuário fornecido e o adiciona à coleção de cookies de resposta usando o caminho do cookie fornecido ou usando a URL, caso você esteja usando a autenticação sem cookies.

SignOut()

Remove o tíquete de autenticação de formulários do navegador.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também