FormsIdentity Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un'identità utente autenticata tramite l'autenticazione basata su form. La classe non può essere ereditata.
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
- Ereditarietà
-
FormsIdentity
- Ereditarietà
- Attributi
- Implementazioni
Esempio
Nell'esempio di codice seguente viene generato e FormsAuthenticationTicket quindi utilizzato per creare un'istanza della FormsIdentity classe, in base al fatto che l'utente fornisca il nome utente e la password corretti nel modulo.
<%@ 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>
Commenti
La FormsIdentity classe viene utilizzata da FormsAuthenticationModule quando un utente viene autenticato con l'autenticazione basata su form. Viene creata un'istanza della FormsIdentity classe usando FormsAuthenticationTicket che viene decrittografata dal cookie di autenticazione basata su form o dall'URL. La nuova istanza della FormsIdentity classe viene utilizzata per costruire un nuovo GenericPrincipal oggetto impostato come valore della User proprietà per l'oggetto corrente HttpContext.
Costruttori
FormsIdentity(FormsAuthenticationTicket) |
Inizializza una nuova istanza della classe FormsIdentity. |
FormsIdentity(FormsIdentity) |
Inizializza una nuova istanza della classe FormsIdentity in base all'identità specificata. |
Campi
DefaultIssuer |
Autorità emittente predefinita; "LOCAL AUTHORITY". (Ereditato da ClaimsIdentity) |
DefaultNameClaimType |
Tipo di attestazione del nome predefinito; Name. (Ereditato da ClaimsIdentity) |
DefaultRoleClaimType |
Tipo di attestazione del ruolo predefinito; Role. (Ereditato da ClaimsIdentity) |
Proprietà
Actor |
Ottiene o imposta l'identità del chiamante a cui sono stati concessi i diritti di delega. (Ereditato da ClaimsIdentity) |
AuthenticationType |
Ottiene il tipo di identità autenticato. |
BootstrapContext |
Ottiene o imposta il token utilizzato per creare questa identità basata sulle attestazioni. (Ereditato da ClaimsIdentity) |
Claims |
Ottiene la raccolta di attestazioni associate all'identità. |
CustomSerializationData |
Contiene i dati aggiuntivi forniti da un tipo derivato. Generalmente impostato durante la chiamata a WriteTo(BinaryWriter, Byte[]). (Ereditato da ClaimsIdentity) |
IsAuthenticated |
Ottiene un valore che indica se l'autenticazione è stata effettuata. |
Label |
Ottiene o imposta l'etichetta per l'identità delle attestazioni. (Ereditato da ClaimsIdentity) |
Name |
Ottiene il nome utente dell'identità basata su form. |
NameClaimType |
Ottiene il tipo di attestazione utilizzato per determinare quali attestazioni forniscono il valore per la proprietà Name di tale identità delle attestazioni. (Ereditato da ClaimsIdentity) |
RoleClaimType |
Ottiene il tipo di attestazione che verrà interpretato come ruolo di .NET tra le attestazioni in questa identità delle attestazioni. (Ereditato da ClaimsIdentity) |
Ticket |
Ottiene l'oggetto FormsAuthenticationTicket per l'identità utente dell'autenticazione basata su form. |
Metodi
AddClaim(Claim) |
Aggiunge un'attestazione singola all'identità di queste attestazioni. (Ereditato da ClaimsIdentity) |
AddClaims(IEnumerable<Claim>) |
Aggiunge un elenco di attestazioni all'identità di queste attestazioni. (Ereditato da ClaimsIdentity) |
Clone() |
Ottiene una copia dell'istanza di FormsIdentity corrente. |
CreateClaim(BinaryReader) |
Fornisce un punto di estendibilità per i punti derivati per creare un oggetto Claim personalizzato. (Ereditato da ClaimsIdentity) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FindAll(Predicate<Claim>) |
Recupera tutte le attestazioni che corrispondono al predicato specificato. (Ereditato da ClaimsIdentity) |
FindAll(String) |
Recupera tutte le attestazioni con il tipo di attestazione specificato. (Ereditato da ClaimsIdentity) |
FindFirst(Predicate<Claim>) |
Recupera la prima attestazione che corrisponde al predicato specificato. (Ereditato da ClaimsIdentity) |
FindFirst(String) |
Recupera la prima attestazione con il tipo di attestazione specificato. (Ereditato da ClaimsIdentity) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Popola l'oggetto SerializationInfo con i dati necessari per serializzare l'oggetto ClaimsIdentity corrente. (Ereditato da ClaimsIdentity) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
HasClaim(Predicate<Claim>) |
Determina se l'identità delle attestazioni possiede un'attestazione a cui corrisponde il predicato specificato. (Ereditato da ClaimsIdentity) |
HasClaim(String, String) |
Determina se l'identità delle attestazioni ha un'attestazione con il tipo e il valore specificati. (Ereditato da ClaimsIdentity) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
RemoveClaim(Claim) |
Tenta di rimuovere un'attestazione dall'identità delle attestazioni. (Ereditato da ClaimsIdentity) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
TryRemoveClaim(Claim) |
Tenta di rimuovere un'attestazione dall'identità delle attestazioni. (Ereditato da ClaimsIdentity) |
WriteTo(BinaryWriter, Byte[]) |
Esegue la serializzazione usando BinaryWriter. (Ereditato da ClaimsIdentity) |
WriteTo(BinaryWriter) |
Esegue la serializzazione usando BinaryWriter. (Ereditato da ClaimsIdentity) |