FormsAuthentication Classe

Definição

Gere serviços de autenticação de formulários para aplicações Web. Esta 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 seguinte mostra o ficheiro Web.config para uma aplicação ASP.NET que utiliza o fornecedor de membros ASP.NET para autenticação de formulários e exige que todos os utilizadores 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 seguinte exemplo de código mostra a página de login de uma aplicação ASP.NET que utiliza autenticação de formulários e pertença ao ASP.NET.

Importante

Este exemplo contém uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de 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>

Observações

A autenticação de formulários permite a validação do utilizador e da palavra-passe para aplicações Web que não requerem Windows authentication. Com a autenticação por formulários, a informação do utilizador é armazenada numa fonte de dados externa, como uma Membership base de dados, ou no ficheiro de configuração de uma aplicação. Uma vez autenticado, a autenticação de formulários mantém um ticket de autenticação num cookie ou no URL para que o utilizador autenticado não precise de fornecer credenciais em cada pedido.

A autenticação de formulários é ativada ao definir o mode atributo do elemento de configuração de autenticação para Forms. Pode exigir que todos os pedidos a uma aplicação contenham um ticket válido de autenticação de utilizador usando o elemento de configuração de autorização para negar o pedido de qualquer utilizador desconhecido, como mostrado no exemplo seguinte.

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

No exemplo anterior, qualquer pedido para uma página ASP.NET que faça parte da aplicação requer um nome de utilizador válido fornecido por autenticação de formulários. Se não existir nome de utilizador, o pedido é redirecionado para o .LoginUrl

A FormsAuthentication classe fornece acesso a métodos e propriedades que pode usar numa aplicação que autentica utilizadores. O RedirectToLoginPage método redireciona um navegador para a configuração LoginUrl para que os utilizadores possam iniciar sessão numa aplicação. O RedirectFromLoginPage método redireciona um utilizador autenticado de volta para a URL protegida original que foi solicitada ou para o DefaultUrlarquivo . Existem também métodos que permitem gerir formulários-bilhetes de autenticação, se necessário.

Construtores

Name Description
FormsAuthentication()

Inicializa uma nova instância da FormsAuthentication classe.

Propriedades

Name Description
CookieDomain

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

CookieMode

Recebe um valor que indica se a aplicação está configurada para autenticação de formulários sem cookies.

CookieSameSite

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

CookiesSupported

Recebe um valor que indica se a aplicação está configurada para suportar autenticação de formulários sem cookies.

DefaultUrl

Recebe o URL para o qual a FormsAuthentication classe irá redirecionar se não for especificado nenhum URL de redirecionamento.

EnableCrossAppRedirects

Recebe um valor que indica se os utilizadores autenticados podem ser redirecionados para URLs noutras aplicações Web.

FormsCookieName

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

FormsCookiePath

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

IsEnabled

Recebe um valor que indica se a autenticação dos formulários está ativada.

LoginUrl

Obtém o URL da página de login para onde a FormsAuthentication classe vai redirecionar.

RequireSSL

Recebe um valor que indica se o cookie de autenticação de formulários requer SSL para ser devolvido ao servidor.

SlidingExpiration

Recebe um valor que indica se a expiração deslizante está ativada.

TicketCompatibilityMode

Recebe um valor que indica se deve usar o Tempo Universal Coordenado (UTC) ou a hora local para a data de expiração do bilhete.

Timeout

Obtém o tempo antes de expirar um ticket de autenticação.

Métodos

Name Description
Authenticate(String, String)
Obsoleto.

Valida um nome de utilizador e uma palavra-passe contra credenciais armazenadas no ficheiro de configuração de uma aplicação.

Decrypt(String)

Cria um FormsAuthenticationTicket objeto com base no ticket de autenticação de formulários encriptados passado ao método.

EnableFormsAuthentication(NameValueCollection)

Permite a autenticação de formulários.

Encrypt(FormsAuthenticationTicket)

Cria uma cadeia contendo um ticket de autenticação de formulários encriptado adequado para uso num cookie HTTP.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

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

Cria um cookie de autenticação para um dado nome de utilizador. Isto não define o cookie como parte da resposta de saída.

GetAuthCookie(String, Boolean)

Cria um cookie de autenticação para um dado nome de utilizador. Isto não define o cookie como parte da resposta de saída, para que uma aplicação possa ter mais controlo sobre como o cookie é emitido.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetRedirectUrl(String, Boolean)

Devolve o URL de redirecionamento do pedido original que causou o redirecionamento para a página de login.

GetType()

Obtém o Type da instância atual.

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

Produz uma palavra-passe hash adequada para armazenamento num ficheiro de configuração baseada na palavra-passe e no algoritmo de hash especificados.

Initialize()

Inicializa o FormsAuthentication objeto com base nas definições de configuração da aplicação.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

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

Redireciona um utilizador autenticado de volta para o URL originalmente solicitado ou para o URL predefinido usando o caminho do cookie especificado para o cookie de autenticação de formulários.

RedirectFromLoginPage(String, Boolean)

Redireciona um utilizador autenticado de volta para a URL originalmente solicitada ou para a URL predefinida.

RedirectToLoginPage()

Redireciona o navegador para o URL de login.

RedirectToLoginPage(String)

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

RenewTicketIfOld(FormsAuthenticationTicket)

Atualiza condicionalmente a data e hora de emissão, a data e a hora de expiração para um FormsAuthenticationTicket.

SetAuthCookie(String, Boolean, String)

Cria um ticket de autenticação para o nome de utilizador fornecido e adiciona-o à coleção de cookies da resposta, usando o caminho de cookies fornecido, ou usando a URL se estiver a usar autenticação sem cookies.

SetAuthCookie(String, Boolean)

Cria um ticket de autenticação para o nome de utilizador fornecido e adiciona-o à coleção de cookies da resposta, ou ao URL se estiver a usar autenticação sem cookies.

SignOut()

Remove o ticket de autenticação de formulários do navegador.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também