FormsIdentity Osztály

Definíció

Űrlaphitelesítéssel hitelesített felhasználói identitást jelöl. Ez az osztály nem örökölhető.

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
Öröklődés
FormsIdentity
Öröklődés
FormsIdentity
Attribútumok
Megvalósítás

Példák

Az alábbi példakód létrehoz egy FormsAuthenticationTicket , majd az osztály egy példányát FormsIdentity annak alapján, hogy a felhasználó megadja-e a megfelelő felhasználónevet és jelszót az űrlapon.

<%@ 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>

Megjegyzések

Az FormsIdentity osztályt az FormsAuthenticationModule a felhasználó használja, aki űrlaphitelesítéssel hitelesíti a felhasználót. Az osztály egy példánya az FormsIdentityFormsAuthenticationTicket űrlap-hitelesítési cookie-ból vagy az URL-címről visszafejtett használatával jön létre. Az osztály új példánya FormsIdentity egy új GenericPrincipal objektum létrehozására szolgál, amely az User aktuális HttpContexttulajdonság értékeként van beállítva.

Konstruktorok

Name Description
FormsIdentity(FormsAuthenticationTicket)

Inicializálja a FormsIdentity osztály új példányát.

FormsIdentity(FormsIdentity)

Inicializálja az FormsIdentity osztály új példányát a megadott identitás alapján.

Mezők

Name Description
DefaultIssuer

Az alapértelmezett kiállító; "HELYI ÖNKORMÁNYZAT".

(Öröklődés forrása ClaimsIdentity)
DefaultNameClaimType

Az alapértelmezett név jogcímtípusa; Name.

(Öröklődés forrása ClaimsIdentity)
DefaultRoleClaimType

Az alapértelmezett szerepkör jogcímtípusa; Role.

(Öröklődés forrása ClaimsIdentity)

Tulajdonságok

Name Description
Actor

Lekéri vagy beállítja a delegálási jogosultságot kapott hívó fél identitását.

(Öröklődés forrása ClaimsIdentity)
AuthenticationType

Lekéri a hitelesített identitás típusát.

BootstrapContext

Lekéri vagy beállítja a jogcím-identitás létrehozásához használt jogkivonatot.

(Öröklődés forrása ClaimsIdentity)
Claims

Lekéri az identitáshoz társított jogcímek gyűjteményét.

CustomSerializationData

Származtatott típus által biztosított további adatokat tartalmaz. Híváskor WriteTo(BinaryWriter, Byte[])általában be van állítva.

(Öröklődés forrása ClaimsIdentity)
IsAuthenticated

Olyan értéket kap, amely jelzi, hogy megtörtént-e a hitelesítés.

Label

Lekéri vagy beállítja a jogcím-identitás címkéjét.

(Öröklődés forrása ClaimsIdentity)
Name

Lekéri az űrlap-identitás felhasználónevét.

NameClaimType

Lekéri azt a jogcímtípust, amely annak meghatározására szolgál, hogy mely jogcímek adják meg a Name jogcím-identitás tulajdonságának értékét.

(Öröklődés forrása ClaimsIdentity)
RoleClaimType

Lekéri azt a jogcímtípust, amely .NET szerepkörként lesz értelmezve a jogcím-identitásban lévő jogcímek között.

(Öröklődés forrása ClaimsIdentity)
Ticket

Lekéri az FormsAuthenticationTicket űrlaphitelesítő felhasználói identitást.

Metódusok

Name Description
AddClaim(Claim)

Egyetlen jogcímet ad hozzá ehhez a jogcím-identitáshoz.

(Öröklődés forrása ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Hozzáadja a jogcímek listáját ehhez a jogcím-identitáshoz.

(Öröklődés forrása ClaimsIdentity)
Clone()

Lekéri az aktuális FormsIdentity példány másolatát.

CreateClaim(BinaryReader)

Bővíthetőségi pontot biztosít a származtatott típusok számára az egyéni Claimlétrehozáshoz.

(Öröklődés forrása ClaimsIdentity)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
FindAll(Predicate<Claim>)

Lekéri a megadott predikátum által egyeztetett összes jogcímet.

(Öröklődés forrása ClaimsIdentity)
FindAll(String)

Lekéri a megadott jogcímtípussal rendelkező összes jogcímet.

(Öröklődés forrása ClaimsIdentity)
FindFirst(Predicate<Claim>)

Lekéri a megadott predikátum által egyeztetett első jogcímet.

(Öröklődés forrása ClaimsIdentity)
FindFirst(String)

Lekéri az első jogcímet a megadott jogcímtípussal.

(Öröklődés forrása ClaimsIdentity)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetObjectData(SerializationInfo, StreamingContext)

Kitölti az SerializationInfo aktuális ClaimsIdentity objektum szerializálásához szükséges adatokat.

(Öröklődés forrása ClaimsIdentity)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
HasClaim(Predicate<Claim>)

Meghatározza, hogy ennek a jogcím-identitásnak van-e olyan jogcíme, amely megfelel a megadott predikátumnak.

(Öröklődés forrása ClaimsIdentity)
HasClaim(String, String)

Meghatározza, hogy a jogcím-identitás rendelkezik-e a megadott jogcímtípussal és értékkel rendelkező jogcímekkel.

(Öröklődés forrása ClaimsIdentity)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
RemoveClaim(Claim)

Megpróbál eltávolítani egy jogcímet a jogcím-identitásból.

(Öröklődés forrása ClaimsIdentity)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
TryRemoveClaim(Claim)

Megpróbál eltávolítani egy jogcímet a jogcím-identitásból.

(Öröklődés forrása ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Szerializálja egy BinaryWriter.

(Öröklődés forrása ClaimsIdentity)
WriteTo(BinaryWriter)

Szerializálja egy BinaryWriter.

(Öröklődés forrása ClaimsIdentity)

A következőre érvényes:

Lásd még