FormsAuthentication Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 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 de script ou HTML. Para obter mais informações, consulte Visão geral das 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 os 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 a DefaultUrl. Há também métodos que permitem gerenciar tíquetes de autenticação de formulários, se necessário.
Construtores
| Nome | Description |
|---|---|
| FormsAuthentication() |
Inicializa uma nova instância da classe FormsAuthentication. |
Propriedades
| Nome | Description |
|---|---|
| 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 cookie. |
| 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 à autenticação de formulários sem cookie. |
| DefaultUrl |
Obtém a URL para a qual a FormsAuthentication classe 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 da página de logon à qual a FormsAuthentication classe será redirecionada. |
| RequireSSL |
Obtém um valor que indica se o cookie de autenticação de formulários requer 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 é necessário usar UTC (Tempo Universal Coordenado) ou hora local para a data de validade do tíquete. |
| Timeout |
Obtém a quantidade de tempo antes que um tíquete de autenticação expire. |
Métodos
| Nome | Description |
|---|---|
| Authenticate(String, String) |
Obsoleto.
Valida um nome de usuário e uma senha em relação às credenciais armazenadas no arquivo de configuração de um aplicativo. |
| Decrypt(String) |
Cria um FormsAuthenticationTicket objeto com base no tíquete de autenticação de formulários criptografados 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, 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. |
| 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, para que um aplicativo possa ter mais controle sobre como o cookie é emitido. |
| GetHashCode() |
Serve como a função hash predefinida. (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.
Produz uma senha de hash adequada para armazenar em um arquivo de configuração com base no algoritmo de hash e senha especificados. |
| Initialize() |
Inicializa o FormsAuthentication objeto com base nas configurações do aplicativo. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| RedirectFromLoginPage(String, Boolean, String) |
Redireciona um usuário autenticado de volta para a URL solicitada originalmente ou a URL padrão usando o caminho de cookie especificado para o cookie de autenticação de formulários. |
| RedirectFromLoginPage(String, Boolean) |
Redireciona um usuário autenticado de volta para a URL solicitada originalmente ou a URL padrão. |
| 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 condicionalmente a data e a hora do problema e a data e a hora de expiração de um FormsAuthenticationTicket. |
| SetAuthCookie(String, Boolean, String) |
Cria um tíquete de autenticação para o nome de usuário fornecido e adiciona-o à coleção de cookies da resposta, usando o caminho de cookie fornecido ou usando a URL se você estiver usando a autenticação sem cookie. |
| SetAuthCookie(String, Boolean) |
Cria um tíquete de autenticação para o nome de usuário fornecido e adiciona-o à coleção de cookies da resposta ou à URL se você estiver usando a autenticação sem cookie. |
| 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) |