FormsIdentity Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une identité utilisateur authentifiée à l'aide de l'authentification par formulaire. Cette classe ne peut pas être héritée.
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
- Héritage
-
FormsIdentity
- Héritage
- Attributs
- Implémente
Exemples
L’exemple de code suivant génère un FormsAuthenticationTicket , puis l’utilise pour créer une instance de la FormsIdentity classe , selon que l’utilisateur fournit ou non le nom d’utilisateur et le mot de passe corrects sur le formulaire.
<%@ 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>
Remarques
La FormsIdentity classe est utilisée par quand un utilisateur est authentifié avec l’authentification FormsAuthenticationModule par formulaire. Une instance de la classe est créée à l’aide FormsIdentity du FormsAuthenticationTicket qui est déchiffré à partir du cookie d’authentification par formulaire ou de l’URL. La nouvelle instance de la FormsIdentity classe est utilisée pour construire un nouvel GenericPrincipal objet qui est défini comme valeur de la User propriété pour le actuel HttpContext.
Constructeurs
FormsIdentity(FormsAuthenticationTicket) |
Initialise une nouvelle instance de la classe FormsIdentity. |
FormsIdentity(FormsIdentity) |
Initialise une nouvelle instance de la classe FormsIdentity en fonction de l'identité spécifiée. |
Champs
DefaultIssuer |
Émetteur par défaut ; « LOCAL AUTHORITY ». (Hérité de ClaimsIdentity) |
DefaultNameClaimType |
Type de revendication de nom par défaut ; Name. (Hérité de ClaimsIdentity) |
DefaultRoleClaimType |
Type de revendication de rôle par défaut ; Role. (Hérité de ClaimsIdentity) |
Propriétés
Actor |
Obtient ou définit l'identité de la partie appelante s'est vue accordée des droits de délégation. (Hérité de ClaimsIdentity) |
AuthenticationType |
Obtient le type de l'identité authentifiée. |
BootstrapContext |
Obtient ou définit le jeton qui a été utilisé pour créer cette identité basée sur les revendications. (Hérité de ClaimsIdentity) |
Claims |
Obtient la collection des revendications associées à cette entité. |
CustomSerializationData |
Contient les données supplémentaires fournies par un type dérivé. En règle générale, définie au moment de l’appel de WriteTo(BinaryWriter, Byte[]). (Hérité de ClaimsIdentity) |
IsAuthenticated |
Obtient une valeur qui indique si l'authentification a eu lieu ou non. |
Label |
Obtient ou définit l'étiquette de cette identité basée sur les revendications. (Hérité de ClaimsIdentity) |
Name |
Obtient le nom d'utilisateur de l'identité d'authentification par formulaire. |
NameClaimType |
Obtient le type de revendication utilisé pour déterminer les revendications qui fournissent la valeur de la propriété Name de cette identité basée sur les revendications. (Hérité de ClaimsIdentity) |
RoleClaimType |
Obtient le type de revendication qui est interprétée comme un rôle .NET entre les revendications dans cette identité basée sur les revendications. (Hérité de ClaimsIdentity) |
Ticket |
Obtient le FormsAuthenticationTicket pour l'identité d'utilisateur authentifiée à l'aide de l'authentification par formulaire. |
Méthodes
AddClaim(Claim) |
Ajoute une revendication unique à cette identité des revendications. (Hérité de ClaimsIdentity) |
AddClaims(IEnumerable<Claim>) |
Ajoute une liste de revendications à cette identité de revendications. (Hérité de ClaimsIdentity) |
Clone() |
Obtient une copie de l'instance de FormsIdentity en cours. |
CreateClaim(BinaryReader) |
Fournit un point d’extensibilité pour les types dérivés afin de créer un Claim personnalisé. (Hérité de ClaimsIdentity) |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
FindAll(Predicate<Claim>) |
Récupère toutes les revendications qui sont mises en correspondance par le prédicat spécifié. (Hérité de ClaimsIdentity) |
FindAll(String) |
Récupère toutes les revendications qui ont le type de revendication spécifié. (Hérité de ClaimsIdentity) |
FindFirst(Predicate<Claim>) |
Extrait la première revendication qui est mise en correspondance par le prédicat spécifié. (Hérité de ClaimsIdentity) |
FindFirst(String) |
Extrait la première revendication avec le type de revendication spécifié. (Hérité de ClaimsIdentity) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Renseigne des SerializationInfo avec les données nécessaires à la sérialisation de l'objet ClaimsIdentity actuel. (Hérité de ClaimsIdentity) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
HasClaim(Predicate<Claim>) |
Détermine si cette identité des revendications a une revendication qui est mise en correspondance par l'attribut spécifié. (Hérité de ClaimsIdentity) |
HasClaim(String, String) |
Détermine si cette identité des revendications a une revendication avec le type et la valeur de revendication spécifiques. (Hérité de ClaimsIdentity) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
RemoveClaim(Claim) |
Tente de supprimer une revendication dans l'identité basée sur les revendications. (Hérité de ClaimsIdentity) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
TryRemoveClaim(Claim) |
Tente de supprimer une revendication dans l'identité basée sur les revendications. (Hérité de ClaimsIdentity) |
WriteTo(BinaryWriter) |
Sérialise à l’aide d’un BinaryWriter. (Hérité de ClaimsIdentity) |
WriteTo(BinaryWriter, Byte[]) |
Sérialise à l’aide d’un BinaryWriter. (Hérité de ClaimsIdentity) |