FormsIdentity Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en användaridentitet som autentiseras med formulärautentisering. Det går inte att ärva den här klassen.
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
- Arv
-
FormsIdentity
- Arv
- Attribut
- Implementeringar
Exempel
Följande kodexempel genererar en FormsAuthenticationTicket och använder den sedan för att skapa en instans av FormsIdentity klassen, baserat på om användaren anger rätt användarnamn och lösenord i formuläret.
<%@ 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>
Kommentarer
Klassen FormsIdentity används av när en användare autentiseras FormsAuthenticationModule med formulärautentisering. En instans av klassen skapas med hjälp FormsAuthenticationTicket av FormsIdentity den som dekrypteras från cookien för formulärautentisering eller från URL:en. Den nya instansen FormsIdentity av klassen används för att konstruera ett nytt GenericPrincipal objekt som anges som värdet User för egenskapen för den aktuella HttpContext.
Konstruktorer
| Name | Description |
|---|---|
| FormsIdentity(FormsAuthenticationTicket) |
Initierar en ny instans av FormsIdentity klassen. |
| FormsIdentity(FormsIdentity) |
Initierar en ny instans av FormsIdentity klassen baserat på den angivna identiteten. |
Fält
| Name | Description |
|---|---|
| DefaultIssuer |
Standardutfärdaren; "LOKAL MYNDIGHET". (Ärvd från ClaimsIdentity) |
| DefaultNameClaimType |
Standardnamnets anspråkstyp. Name. (Ärvd från ClaimsIdentity) |
| DefaultRoleClaimType |
Standardtypen för rollanspråk. Role. (Ärvd från ClaimsIdentity) |
Egenskaper
| Name | Description |
|---|---|
| Actor |
Hämtar eller anger identiteten för den anropande part som har beviljats delegeringsrättigheter. (Ärvd från ClaimsIdentity) |
| AuthenticationType |
Hämtar typen av autentiserad identitet. |
| BootstrapContext |
Hämtar eller anger den token som användes för att skapa den här anspråksidentiteten. (Ärvd från ClaimsIdentity) |
| Claims |
Hämtar den samling anspråk som är associerade med den här identiteten. |
| CustomSerializationData |
Innehåller ytterligare data som tillhandahålls av en härledd typ. Anges vanligtvis när du anropar WriteTo(BinaryWriter, Byte[]). (Ärvd från ClaimsIdentity) |
| IsAuthenticated |
Hämtar ett värde som anger om autentiseringen ägde rum. |
| Label |
Hämtar eller anger etiketten för den här anspråksidentiteten. (Ärvd från ClaimsIdentity) |
| Name |
Hämtar användarnamnet för formuläridentiteten. |
| NameClaimType |
Hämtar anspråkstypen som används för att avgöra vilka anspråk som anger värdet för egenskapen för den Name här anspråksidentiteten. (Ärvd från ClaimsIdentity) |
| RoleClaimType |
Hämtar anspråkstypen som ska tolkas som en .NET roll bland anspråken i den här anspråksidentiteten. (Ärvd från ClaimsIdentity) |
| Ticket |
Hämtar användaridentiteten FormsAuthenticationTicket för formulärautentisering. |
Metoder
| Name | Description |
|---|---|
| AddClaim(Claim) |
Lägger till ett enda anspråk i den här anspråksidentiteten. (Ärvd från ClaimsIdentity) |
| AddClaims(IEnumerable<Claim>) |
Lägger till en lista över anspråk i den här anspråksidentiteten. (Ärvd från ClaimsIdentity) |
| Clone() |
Hämtar en kopia av den aktuella FormsIdentity instansen. |
| CreateClaim(BinaryReader) |
Tillhandahåller en utökningspunkt för härledda typer för att skapa en anpassad Claim. (Ärvd från ClaimsIdentity) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| FindAll(Predicate<Claim>) |
Hämtar alla anspråk som matchas av det angivna predikatet. (Ärvd från ClaimsIdentity) |
| FindAll(String) |
Hämtar alla anspråk som har den angivna anspråkstypen. (Ärvd från ClaimsIdentity) |
| FindFirst(Predicate<Claim>) |
Hämtar det första anspråket som matchas av det angivna predikatet. (Ärvd från ClaimsIdentity) |
| FindFirst(String) |
Hämtar det första anspråket med den angivna anspråkstypen. (Ärvd från ClaimsIdentity) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Fyller i SerializationInfo med data som behövs för att serialisera det aktuella ClaimsIdentity objektet. (Ärvd från ClaimsIdentity) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| HasClaim(Predicate<Claim>) |
Avgör om anspråksidentiteten har ett anspråk som matchas av det angivna predikatet. (Ärvd från ClaimsIdentity) |
| HasClaim(String, String) |
Avgör om anspråksidentiteten har ett anspråk med angiven anspråkstyp och värde. (Ärvd från ClaimsIdentity) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| RemoveClaim(Claim) |
Försöker ta bort ett anspråk från anspråksidentiteten. (Ärvd från ClaimsIdentity) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TryRemoveClaim(Claim) |
Försöker ta bort ett anspråk från anspråksidentiteten. (Ärvd från ClaimsIdentity) |
| WriteTo(BinaryWriter, Byte[]) |
Serialiserar med hjälp av en BinaryWriter. (Ärvd från ClaimsIdentity) |
| WriteTo(BinaryWriter) |
Serialiserar med hjälp av en BinaryWriter. (Ärvd från ClaimsIdentity) |