FormsIdentity Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa una identidad de usuario autenticada mediante la autenticación de formularios. Esta clase no puede heredarse.
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
- Herencia
-
FormsIdentity
- Herencia
- Atributos
- Implementaciones
Ejemplos
El ejemplo de código siguiente genera y FormsAuthenticationTicket , a continuación, lo usa para crear una instancia de la FormsIdentity clase, en función de si el usuario proporciona el nombre de usuario y la contraseña correctos en el formulario.
<%@ 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>
Comentarios
La FormsIdentity clase la usa FormsAuthenticationModule cuando un usuario se autentica con autenticación de formularios. Se crea una instancia de la FormsIdentity clase mediante el FormsAuthenticationTicket que se descifra desde la cookie de autenticación de formularios o desde la dirección URL. La nueva instancia de la FormsIdentity clase se usa para construir un nuevo GenericPrincipal objeto que se establece como el valor de la User propiedad para el objeto actual HttpContext.
Constructores
| Nombre | Description |
|---|---|
| FormsIdentity(FormsAuthenticationTicket) |
Inicializa una nueva instancia de la clase FormsIdentity. |
| FormsIdentity(FormsIdentity) |
Inicializa una nueva instancia de la FormsIdentity clase en función de la identidad especificada. |
Campos
| Nombre | Description |
|---|---|
| DefaultIssuer |
Emisor predeterminado; "AUTORIDAD LOCAL". (Heredado de ClaimsIdentity) |
| DefaultNameClaimType |
Tipo de notificación de nombre predeterminado; Name. (Heredado de ClaimsIdentity) |
| DefaultRoleClaimType |
Tipo de notificación de rol predeterminado; Role. (Heredado de ClaimsIdentity) |
Propiedades
| Nombre | Description |
|---|---|
| Actor |
Obtiene o establece la identidad de la entidad que llama a la que se concedió derechos de delegación. (Heredado de ClaimsIdentity) |
| AuthenticationType |
Obtiene el tipo de identidad autenticada. |
| BootstrapContext |
Obtiene o establece el token que se usó para crear esta identidad de notificaciones. (Heredado de ClaimsIdentity) |
| Claims |
Obtiene la colección de notificaciones asociadas a esta identidad. |
| CustomSerializationData |
Contiene los datos adicionales proporcionados por un tipo derivado. Normalmente, se establece al llamar a WriteTo(BinaryWriter, Byte[]). (Heredado de ClaimsIdentity) |
| IsAuthenticated |
Obtiene un valor que indica si se realizó la autenticación. |
| Label |
Obtiene o establece la etiqueta de esta identidad de notificaciones. (Heredado de ClaimsIdentity) |
| Name |
Obtiene el nombre de usuario de la identidad de formularios. |
| NameClaimType |
Obtiene el tipo de notificación que se usa para determinar qué notificaciones proporcionan el valor de la Name propiedad de esta identidad de notificaciones. (Heredado de ClaimsIdentity) |
| RoleClaimType |
Obtiene el tipo de notificación que se interpretará como un rol de .NET entre las notificaciones de esta identidad de notificaciones. (Heredado de ClaimsIdentity) |
| Ticket |
Obtiene para FormsAuthenticationTicket la identidad de usuario de autenticación de formularios. |
Métodos
| Nombre | Description |
|---|---|
| AddClaim(Claim) |
Agrega una sola notificación a esta identidad de notificaciones. (Heredado de ClaimsIdentity) |
| AddClaims(IEnumerable<Claim>) |
Agrega una lista de notificaciones a esta identidad de notificaciones. (Heredado de ClaimsIdentity) |
| Clone() |
Obtiene una copia de la instancia actual FormsIdentity . |
| CreateClaim(BinaryReader) |
Proporciona un punto de extensibilidad para los tipos derivados para crear un personalizado Claim. (Heredado de ClaimsIdentity) |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| FindAll(Predicate<Claim>) |
Recupera todas las notificaciones que coinciden con el predicado especificado. (Heredado de ClaimsIdentity) |
| FindAll(String) |
Recupera todas las notificaciones que tienen el tipo de notificación especificado. (Heredado de ClaimsIdentity) |
| FindFirst(Predicate<Claim>) |
Recupera la primera notificación que coincide con el predicado especificado. (Heredado de ClaimsIdentity) |
| FindFirst(String) |
Recupera la primera notificación con el tipo de notificación especificado. (Heredado de ClaimsIdentity) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Rellena con los SerializationInfo datos necesarios para serializar el objeto actual ClaimsIdentity . (Heredado de ClaimsIdentity) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| HasClaim(Predicate<Claim>) |
Determina si esta identidad de notificaciones tiene una notificación que coincide con el predicado especificado. (Heredado de ClaimsIdentity) |
| HasClaim(String, String) |
Determina si esta identidad de notificaciones tiene una notificación con el tipo de notificación y el valor especificados. (Heredado de ClaimsIdentity) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| RemoveClaim(Claim) |
Intenta quitar una notificación de la identidad de notificaciones. (Heredado de ClaimsIdentity) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
| TryRemoveClaim(Claim) |
Intenta quitar una notificación de la identidad de notificaciones. (Heredado de ClaimsIdentity) |
| WriteTo(BinaryWriter, Byte[]) |
Serializa mediante .BinaryWriter (Heredado de ClaimsIdentity) |
| WriteTo(BinaryWriter) |
Serializa mediante .BinaryWriter (Heredado de ClaimsIdentity) |