FormsIdentity Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma identidade de utilizador autenticada usando autenticação de formulários. Esta 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 seguinte gera um FormsAuthenticationTicket e depois usa-o para criar uma instância da FormsIdentity classe, com base no facto de o utilizador fornecer o nome de utilizador e a palavra-passe 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>
Observações
A FormsIdentity classe é usada quando FormsAuthenticationModule um utilizador é autenticado com autenticação de formulários. Uma instância da FormsIdentity classe é criada usando o FormsAuthenticationTicket que é desencriptada a partir do cookie de autenticação de formulários ou do 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
| Name | Description |
|---|---|
| FormsIdentity(FormsAuthenticationTicket) |
Inicializa uma nova instância da FormsIdentity classe. |
| FormsIdentity(FormsIdentity) |
Inicializa uma nova instância da FormsIdentity classe com base na identidade especificada. |
Campos
| Name | Description |
|---|---|
| DefaultIssuer |
O emissor padrão; "AUTORIDADE LOCAL". (Herdado de ClaimsIdentity) |
| DefaultNameClaimType |
O tipo padrão de reivindicação do nome; Name. (Herdado de ClaimsIdentity) |
| DefaultRoleClaimType |
O tipo padrão de reivindicação de papel; Role. (Herdado de ClaimsIdentity) |
Propriedades
| Name | Description |
|---|---|
| Actor |
Obtém ou define a identidade da parte chamante que recebeu direitos de delegação. (Herdado de ClaimsIdentity) |
| AuthenticationType |
Obtém o tipo de identidade autenticada. |
| BootstrapContext |
Obtém ou define o token que foi usado para criar a identidade desta reivindicação. (Herdado de ClaimsIdentity) |
| Claims |
Obtém a coleção de reivindicaçõ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 |
Recebe um valor que indica se a autenticação ocorreu. |
| Label |
Obtém ou define o rótulo para a identidade desta alegação. (Herdado de ClaimsIdentity) |
| Name |
Obtém o nome de utilizador da identidade do formulário. |
| NameClaimType |
Obtém o tipo de reivindicação que é usado para determinar quais as reivindicações que fornecem o valor da Name propriedade da identidade dessa reivindicação. (Herdado de ClaimsIdentity) |
| RoleClaimType |
Obtém o tipo de reivindicação que será interpretado como um papel .NET entre as reivindicações na identidade dessa reivindicação. (Herdado de ClaimsIdentity) |
| Ticket |
Obtém o FormsAuthenticationTicket para a autenticação de formulários identidade de utilizador. |
Métodos
| Name | Description |
|---|---|
| AddClaim(Claim) |
Acrescenta uma única reivindicação à identidade desta reivindicação. (Herdado de ClaimsIdentity) |
| AddClaims(IEnumerable<Claim>) |
Adiciona uma lista de reivindicações à identidade desta reivindicação. (Herdado de ClaimsIdentity) |
| Clone() |
Recebe uma cópia da instância atual FormsIdentity . |
| CreateClaim(BinaryReader) |
Fornece um ponto de extensibilidade para tipos derivados criarem um .Claim (Herdado de ClaimsIdentity) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| FindAll(Predicate<Claim>) |
Recupera todas as reivindicações que são correspondidas pelo predicado especificado. (Herdado de ClaimsIdentity) |
| FindAll(String) |
Recupera todas as reivindicações que tenham o tipo de reivindicação especificado. (Herdado de ClaimsIdentity) |
| FindFirst(Predicate<Claim>) |
Recupera a primeira afirmação que é correspondida pelo predicado especificado. (Herdado de ClaimsIdentity) |
| FindFirst(String) |
Recupera a primeira reivindicação com o tipo especificado. (Herdado de ClaimsIdentity) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Preenche os SerializationInfo dados necessários para serializar o objeto atual ClaimsIdentity . (Herdado de ClaimsIdentity) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| HasClaim(Predicate<Claim>) |
Determina se a identidade desta reivindicação tem uma reivindicação que é correspondida ao predicado especificado. (Herdado de ClaimsIdentity) |
| HasClaim(String, String) |
Determina se a identidade desta reivindicação tem uma reivindicação com o tipo e valor especificados. (Herdado de ClaimsIdentity) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| RemoveClaim(Claim) |
Tenta remover uma reivindicação da identidade da reclamação. (Herdado de ClaimsIdentity) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| TryRemoveClaim(Claim) |
Tenta remover uma reivindicação da identidade da reclamação. (Herdado de ClaimsIdentity) |
| WriteTo(BinaryWriter, Byte[]) |
Serializa usando um BinaryWriter. (Herdado de ClaimsIdentity) |
| WriteTo(BinaryWriter) |
Serializa usando um BinaryWriter. (Herdado de ClaimsIdentity) |