FormsIdentity Klass

Definition

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
FormsIdentity
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)

Gäller för

Se även