FormsIdentity 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.
Representa uma identidade de usuário autenticada usando a autenticação de formulários. Essa classe não pode ser herdada.
public ref class FormsIdentity sealed : System::Security::Principal::IIdentity
public ref class FormsIdentity : System::Security::Principal::IIdentity
public ref class FormsIdentity : System::Security::Claims::ClaimsIdentity
[System.Serializable]
public sealed class FormsIdentity : System.Security.Principal.IIdentity
[System.Serializable]
public class FormsIdentity : System.Security.Principal.IIdentity
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(false)]
public class FormsIdentity : System.Security.Claims.ClaimsIdentity
[<System.Serializable>]
type FormsIdentity = class
interface IIdentity
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(false)>]
type FormsIdentity = class
inherit ClaimsIdentity
Public NotInheritable Class FormsIdentity
Implements IIdentity
Public Class FormsIdentity
Implements IIdentity
Public Class FormsIdentity
Inherits ClaimsIdentity
- Herança
-
FormsIdentity
- Herança
- Atributos
- Implementações
Exemplos
O exemplo de código a seguir gera um FormsAuthenticationTicket e o usa para criar uma instância da FormsIdentity classe , com base em se o usuário fornece o nome de usuário e a senha corretos no formulário.
<%@ Page Language="C#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ Import Namespace="System.Globalization" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">
protected void Login_Click(object sender, EventArgs e)
{
bool isAuthenticated = false;
if (string.Compare(UserNameTextBox.Text, "UserName", true,
CultureInfo.InvariantCulture) == 0)
{
if (string.Compare(PasswordTextBox.Text, "Password", true,
CultureInfo.InvariantCulture) == 0)
{
isAuthenticated = true;
}
}
else isAuthenticated = false;
// Create the formsIdentity for the user.
CreateformsIdentity(UserNameTextBox.Text, isAuthenticated);
}
private void CreateformsIdentity(string userName, bool isAuthenticated)
{
FormsIdentity formsID;
FormsAuthenticationTicket authenticationTicket;
if (isAuthenticated)
{
// If authentication passed, create a ticket
// as a Manager that expires in 15 minutes.
authenticationTicket = new FormsAuthenticationTicket(1, userName,
DateTime.Now, DateTime.Now.AddMinutes(15), false, "Manager");
}
else
{
// If authentication failed, create a ticket
// as a guest that expired 5 minutes ago.
authenticationTicket = new FormsAuthenticationTicket(1, userName,
DateTime.Now, DateTime.Now.Subtract(new TimeSpan(0, 5, 0)),
false, "Guest");
}
// Create form identity from FormsAuthenticationTicket.
formsID = new FormsIdentity(authenticationTicket);
Response.Clear();
Response.Write("Authentication Type: " + formsID.AuthenticationType +
"<BR>");
// Get FormsAuthenticationTicket from the FormIdentity
FormsAuthenticationTicket ticket = formsID.Ticket;
if (ticket.Expired)
{
Response.Write("Authentication failed, so the role is set to " +
ticket.UserData);
}
else
{
Response.Write("Authentication succeeded, so the role is set to " +
ticket.UserData);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>WebForm1</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:Label id="UserIdLabel" runat="server"
style="left: 144px; position: absolute; top: 160px">
User-ID:</asp:Label>
<asp:Label id="PasswordLabel" runat="server"
style="left: 144px; position: absolute; top: 200px">
Password:</asp:Label>
<asp:TextBox id="UserNameTextBox" runat="server"
style="left: 232px; position: absolute; top: 160px;
width:182px; height:22px"></asp:TextBox>
<asp:TextBox id="PasswordTextBox" runat="server"
style="left: 232px; position: absolute; top: 200px;
width:181px; height:22px" TextMode="Password">
</asp:TextBox>
<asp:Button id="Login" runat="server" Text="Login"
style="left: 232px; position: absolute; top: 232px;
width:100px" OnClick="Login_Click"></asp:Button>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ Import Namespace="System.Globalization" %>
<script runat="server">
Private Sub Login_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Login.Click
' For the example, the user name must be "UserName" and the password
' must be "Password" for authentication to succeed.
Dim isAuthenticated As Boolean
If String.Compare(UserNameTextBox.Text, "UserName", True, _
CultureInfo.InvariantCulture) = 0 Then
If String.Compare(PasswordTextBox.Text, "Password", True, _
CultureInfo.InvariantCulture) = 0 Then
isAuthenticated = True
End If
Else
isAuthenticated = False
End If
' Create the FormsIdentity for the user.
CreateFormsIdentity(UserNameTextBox.Text, isAuthenticated)
End Sub
Private Sub CreateFormsIdentity(ByVal userName As String, _
ByVal isAuthenticated As Boolean)
Dim formsId As System.Web.Security.FormsIdentity
Dim authenticationTicket As _
System.Web.Security.FormsAuthenticationTicket
If isAuthenticated Then
' If authentication passed, create a ticket
' as a Manager that expires in 15 minutes.
authenticationTicket = _
New FormsAuthenticationTicket(1, userName, DateTime.Now, _
DateTime.Now.AddMinutes(15), False, "Manager")
Else
' If authentication failed, create a ticket
' as a guest that expired 5 minutes ago.
authenticationTicket = _
New FormsAuthenticationTicket(1, userName, DateTime.Now, _
DateTime.Now.Subtract(New TimeSpan(0, 5, 0)), False, "Guest")
End If
' Create form identity from FormsAuthenticationTicket.
formsId = New FormsIdentity(authenticationTicket)
Response.Clear()
Response.Write("Authenticate Type: " & _
formsId.AuthenticationType & "<BR>")
' Get FormsAuthenticationTicket from the FormIdentity
Dim ticket As FormsAuthenticationTicket = formsId.Ticket()
If ticket.Expired Then
Response.Write("Authentication failed, so the role is set to " & _
ticket.UserData)
Else
Response.Write("Authentication succeeded, so the role is set to " & _
ticket.UserData)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>WebForm1</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:Label id="UserIdLabel" runat="server"
style="left: 144px; position: absolute; top: 160px">
User-ID:</asp:Label>
<asp:Label id="PasswordLabel" runat="server"
style="left: 144px; position: absolute; top: 200px">
Password:</asp:Label>
<asp:TextBox id="UserNameTextBox" runat="server"
style="left: 232px; position: absolute; top: 160px;
width:182px; height:22px"></asp:TextBox>
<asp:TextBox id="PasswordTextBox" runat="server"
style="left: 232px; position: absolute; top: 200px;
width:181px; height:22px" TextMode="Password">
</asp:TextBox>
<asp:Button id="Login" runat="server" Text="Login"
style="left: 232px; position: absolute; top: 232px;
width:100px"></asp:Button>
</form>
</body>
</html>
Comentários
A FormsIdentity classe é usada pelo FormsAuthenticationModule quando um usuário é autenticado com autenticação de formulários. Uma instância da FormsIdentity classe é criada usando o FormsAuthenticationTicket que é descriptografado do cookie de autenticação de formulários ou da URL. A nova instância da FormsIdentity classe é usada para construir um novo GenericPrincipal objeto que é definido como o valor da User propriedade para o atual HttpContext.
Construtores
FormsIdentity(FormsAuthenticationTicket) |
Inicializa uma nova instância da classe FormsIdentity. |
FormsIdentity(FormsIdentity) |
Inicializa uma nova instância da classe FormsIdentity com base na identidade especificada. |
Campos
DefaultIssuer |
O emissor padrão, "LOCAL AUTHORITY". (Herdado de ClaimsIdentity) |
DefaultNameClaimType |
O tipo de declaração de nome padrão, Name. (Herdado de ClaimsIdentity) |
DefaultRoleClaimType |
O tipo de declaração de função padrão, Role. (Herdado de ClaimsIdentity) |
Propriedades
Actor |
Obtém ou define a identidade da parte que realiza a chamada e que recebeu direitos de delegação. (Herdado de ClaimsIdentity) |
AuthenticationType |
Obtém o tipo da identidade autenticada. |
BootstrapContext |
Obtém ou define o token usado para criar esta identidade de declarações. (Herdado de ClaimsIdentity) |
Claims |
Obtém a coleção de declarações associadas a esta identidade. |
CustomSerializationData |
Contém quaisquer dados adicionais fornecidos por um tipo derivado. Normalmente definido ao chamar WriteTo(BinaryWriter, Byte[]). (Herdado de ClaimsIdentity) |
IsAuthenticated |
Obtém um valor que indica se a autenticação ocorreu. |
Label |
Obtém ou define o rótulo para essa identidade baseada em declarações. (Herdado de ClaimsIdentity) |
Name |
Obtém o nome de usuário da identidade de formulários. |
NameClaimType |
Obtém o tipo de declaração que é usado para determinar quais declarações fornecem o valor para a propriedade Name dessa identidade baseada em declarações. (Herdado de ClaimsIdentity) |
RoleClaimType |
Obtém o tipo de declaração que será interpretado como uma função do .NET entre as declarações nessa identidade de declarações. (Herdado de ClaimsIdentity) |
Ticket |
Obtém o FormsAuthenticationTicket para a identidade do usuário de autenticação de formulários. |
Métodos
AddClaim(Claim) |
Adiciona uma única declaração a esta identidade baseada em declarações. (Herdado de ClaimsIdentity) |
AddClaims(IEnumerable<Claim>) |
Adiciona uma lista de declarações a essa identidade baseada em declarações. (Herdado de ClaimsIdentity) |
Clone() |
Obtém uma cópia da instância FormsIdentity atual. |
CreateClaim(BinaryReader) |
Fornece um ponto de extensibilidade para tipos derivados para criar um Claim personalizado. (Herdado de ClaimsIdentity) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
FindAll(Predicate<Claim>) |
Recupera todas as declarações que correspondem ao predicado especificado. (Herdado de ClaimsIdentity) |
FindAll(String) |
Recupera todas as declarações que têm o tipo de declaração especificado. (Herdado de ClaimsIdentity) |
FindFirst(Predicate<Claim>) |
Recupera a primeira declaração correspondente ao predicado especificado. (Herdado de ClaimsIdentity) |
FindFirst(String) |
Recupera a primeira declaração com o tipo de declaração especificado. (Herdado de ClaimsIdentity) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Preenche o SerializationInfo com os dados necessários para serializar o objeto de ClaimsIdentity atual. (Herdado de ClaimsIdentity) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
HasClaim(Predicate<Claim>) |
Determina se essa identidade de declarações tem uma declaração que é correspondida pelo predicado especificado. (Herdado de ClaimsIdentity) |
HasClaim(String, String) |
Determina se essa identidade de declarações tem uma declaração com o tipo e o valor de declaração especificados. (Herdado de ClaimsIdentity) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
RemoveClaim(Claim) |
Tenta remover uma declaração da identidade de declarações. (Herdado de ClaimsIdentity) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
TryRemoveClaim(Claim) |
Tenta remover uma declaração da identidade de declarações. (Herdado de ClaimsIdentity) |
WriteTo(BinaryWriter) |
Serializa usando um BinaryWriter. (Herdado de ClaimsIdentity) |
WriteTo(BinaryWriter, Byte[]) |
Serializa usando um BinaryWriter. (Herdado de ClaimsIdentity) |