FormsIdentity Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine mit Formularauthentifizierung authentifizierte Benutzeridentität dar. Diese Klasse kann nicht vererbt werden.
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
- Vererbung
-
FormsIdentity
- Vererbung
- Attribute
- Implementiert
Beispiele
Im folgenden Codebeispiel wird ein FormsAuthenticationTicket generiert und anschließend verwendet, um eine Instanz der FormsIdentity -Klasse zu erstellen, basierend darauf, ob der Benutzer den richtigen Benutzernamen und das richtige Kennwort für das Formular bereitstellt.
<%@ 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>
Hinweise
Die FormsIdentity -Klasse wird von FormsAuthenticationModule verwendet, wenn ein Benutzer mit der Formularauthentifizierung authentifiziert wird. Eine Instanz der FormsIdentity -Klasse wird mithilfe von erstellt, die FormsAuthenticationTicket aus dem Formularauthentifizierungscookies oder aus der URL entschlüsselt wird. Die neue Instanz der FormsIdentity -Klasse wird verwendet, um ein neues GenericPrincipal -Objekt zu erstellen, das als Wert der User -Eigenschaft für die aktuelle HttpContextfestgelegt wird.
Konstruktoren
FormsIdentity(FormsAuthenticationTicket) |
Initialisiert eine neue Instanz der FormsIdentity-Klasse. |
FormsIdentity(FormsIdentity) |
Initialisiert eine neue Instanz der FormsIdentity-Klasse auf Grundlage der angegebenen Identität |
Felder
DefaultIssuer |
Der Standardaussteller; "LOCAL AUTHORITY". (Geerbt von ClaimsIdentity) |
DefaultNameClaimType |
Der Anspruchstyp für den Standardnamen; Name. (Geerbt von ClaimsIdentity) |
DefaultRoleClaimType |
Der standardmäßige Rollenanspruchstyps; Role. (Geerbt von ClaimsIdentity) |
Eigenschaften
Actor |
Ruft die Identität des Aufrufers ab, dem Übertragungsrechte erteilt wurden, oder legt diese fest. (Geerbt von ClaimsIdentity) |
AuthenticationType |
Ruft den Typ der authentifizierten Identität ab. |
BootstrapContext |
Ruft das Token ab, das verwendet wurde, um diese Anspruchsidentität zu erstellen, oder legt dieses fest. (Geerbt von ClaimsIdentity) |
Claims |
Ruft die Auflistung von Ansprüchen ab, die dieser Entität zugeordnet sind. |
CustomSerializationData |
Enthält alle zusätzlichen Daten, die von einem abgeleiteten Typ bereitgestellt werden. Wird in der Regel beim Aufrufen von WriteTo(BinaryWriter, Byte[]) festgelegt. (Geerbt von ClaimsIdentity) |
IsAuthenticated |
Ruft einen Wert ab, der angibt, ob eine Authentifizierung stattgefunden hat. |
Label |
Ruft die Bezeichnung für diese Anspruchsidentität ab oder legt diese fest. (Geerbt von ClaimsIdentity) |
Name |
Ruft den Benutzernamen der Formularidentität ab. |
NameClaimType |
Ruft den Anspruchstyp ab, der verwendet wird, um zu bestimmen, welche Ansprüche den Wert für die Name -Eigenschaft der Identität dieses Anspruchs bereitstellen. (Geerbt von ClaimsIdentity) |
RoleClaimType |
Diese Eigenschaften ruft den Anspruchstyp ab, der als .NET-Rolle unter den Ansprüchen in dieser Anspruchsidentität interpretiert wird. (Geerbt von ClaimsIdentity) |
Ticket |
Ruft das FormsAuthenticationTicket für die Benutzeridentität der Formularauthentifizierung ab. |
Methoden
AddClaim(Claim) |
Fügt einen einzelnen Anspruch dieser Anspruchsidentität hinzu. (Geerbt von ClaimsIdentity) |
AddClaims(IEnumerable<Claim>) |
Fügt eine Liste von Ansprüchen dieser Anspruchsidentität hinzu. (Geerbt von ClaimsIdentity) |
Clone() |
Ruft eine Kopie der aktuellen FormsIdentity-Instanz ab. |
CreateClaim(BinaryReader) |
Bietet einen Erweiterungspunkt für abgeleitete Typen, um einen benutzerdefinierten Claim zu erstellen. (Geerbt von ClaimsIdentity) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindAll(Predicate<Claim>) |
Ruft alle Ansprüche ab, die dem angegebenen Prädikat entsprechen. (Geerbt von ClaimsIdentity) |
FindAll(String) |
Ruft alle Ansprüche ab, die über den angegebenen Anspruchstyp verfügen. (Geerbt von ClaimsIdentity) |
FindFirst(Predicate<Claim>) |
Ruft den ersten Anspruch ab, der dem angegebenen Prädikat entspricht. (Geerbt von ClaimsIdentity) |
FindFirst(String) |
Ruft den ersten Anspruch mit dem angegebenen Anspruchstyp ab. (Geerbt von ClaimsIdentity) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Füllt das SerializationInfo-Objekt mit den für das Serialisieren des aktuellen ClaimsIdentity-Objekts erforderlichen Daten. (Geerbt von ClaimsIdentity) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
HasClaim(Predicate<Claim>) |
Bestimmt, ob diese Anspruchsidentität einen Anspruch besitzt, der durch das angegebene Prädikat erfüllt ist. (Geerbt von ClaimsIdentity) |
HasClaim(String, String) |
Bestimmt, ob diese Anspruchsdentität einen Anspruch besitzt mit dem angegebenen Typ und dem angegebenen Wert. (Geerbt von ClaimsIdentity) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
RemoveClaim(Claim) |
Versucht, einen Anspruch aus der Anspruchsidentität zu entfernenden. (Geerbt von ClaimsIdentity) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
TryRemoveClaim(Claim) |
Versucht, einen Anspruch aus der Anspruchsidentität zu entfernenden. (Geerbt von ClaimsIdentity) |
WriteTo(BinaryWriter) |
Serialisiert mithilfe von BinaryWriter. (Geerbt von ClaimsIdentity) |
WriteTo(BinaryWriter, Byte[]) |
Serialisiert mithilfe von BinaryWriter. (Geerbt von ClaimsIdentity) |