Sdílet prostřednictvím


FormsIdentity Třída

Definice

Představuje identitu uživatele ověřenou pomocí ověřování pomocí formulářů. Tuto třídu nelze zdědit.

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
Dědičnost
FormsIdentity
Dědičnost
FormsIdentity
Atributy
Implementuje

Příklady

Následující příklad kódu vygeneruje FormsAuthenticationTicket a pak ho použije k vytvoření instance FormsIdentity třídy na základě toho, zda uživatel zadá správné uživatelské jméno a heslo ve formuláři.

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

Poznámky

Třída FormsIdentity se používá FormsAuthenticationModule při ověřování uživatele pomocí formulářů. Instance FormsIdentity třídy je vytvořena pomocí FormsAuthenticationTicket dešifrovaného ze souboru cookie ověřování formulářů nebo z adresy URL. Nová instance FormsIdentity třídy slouží k vytvoření nového GenericPrincipal objektu, který je nastaven jako hodnota User vlastnosti pro aktuální HttpContext.

Konstruktory

Name Description
FormsIdentity(FormsAuthenticationTicket)

Inicializuje novou instanci FormsIdentity třídy.

FormsIdentity(FormsIdentity)

Inicializuje novou instanci FormsIdentity třídy na základě zadané identity.

Pole

Name Description
DefaultIssuer

Výchozí vystavitel; "MÍSTNÍ ORGÁN".

(Zděděno od ClaimsIdentity)
DefaultNameClaimType

Výchozí typ deklarace identity názvu; Name.

(Zděděno od ClaimsIdentity)
DefaultRoleClaimType

Výchozí typ deklarace identity role; Role.

(Zděděno od ClaimsIdentity)

Vlastnosti

Name Description
Actor

Získá nebo nastaví identitu volající strany, která byla udělena práva delegování.

(Zděděno od ClaimsIdentity)
AuthenticationType

Získá typ ověřené identity.

BootstrapContext

Získá nebo nastaví token, který byl použit k vytvoření této identity deklarací identity.

(Zděděno od ClaimsIdentity)
Claims

Získá kolekci deklarací identity, které jsou přidružené k této identitě.

CustomSerializationData

Obsahuje všechna další data poskytovaná odvozeným typem. Obvykle se nastavuje při volání WriteTo(BinaryWriter, Byte[]).

(Zděděno od ClaimsIdentity)
IsAuthenticated

Získá hodnotu, která označuje, jestli proběhlo ověřování.

Label

Získá nebo nastaví popisek pro tuto identitu deklarací identity.

(Zděděno od ClaimsIdentity)
Name

Získá uživatelské jméno identity formulářů.

NameClaimType

Získá typ deklarace, který se používá k určení, které deklarace identity poskytují hodnotu pro Name vlastnost této identity deklarací identity.

(Zděděno od ClaimsIdentity)
RoleClaimType

Získá typ deklarace identity, který bude interpretován jako role .NET mezi deklaracemi v této identitě deklarací identity.

(Zděděno od ClaimsIdentity)
Ticket

FormsAuthenticationTicket Získá pro identitu uživatele ověřování pomocí formulářů.

Metody

Name Description
AddClaim(Claim)

Přidá k této identitě deklarací identity jednu deklaraci identity.

(Zděděno od ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Přidá do této identity deklarace identity seznam deklarací identity.

(Zděděno od ClaimsIdentity)
Clone()

Získá kopii aktuální FormsIdentity instance.

CreateClaim(BinaryReader)

Poskytuje bod rozšiřitelnosti pro odvozené typy vytvořit vlastní Claim.

(Zděděno od ClaimsIdentity)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
FindAll(Predicate<Claim>)

Načte všechny deklarace identity, které odpovídají zadanému predikátu.

(Zděděno od ClaimsIdentity)
FindAll(String)

Načte všechny deklarace identity, které mají zadaný typ deklarace identity.

(Zděděno od ClaimsIdentity)
FindFirst(Predicate<Claim>)

Načte první deklaraci identity, která se shoduje se zadaným predikátem.

(Zděděno od ClaimsIdentity)
FindFirst(String)

Načte první deklaraci identity se zadaným typem deklarace identity.

(Zděděno od ClaimsIdentity)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetObjectData(SerializationInfo, StreamingContext)

Naplní SerializationInfo data potřebná k serializaci aktuálního ClaimsIdentity objektu.

(Zděděno od ClaimsIdentity)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
HasClaim(Predicate<Claim>)

Určuje, jestli má tato identita deklarací identity deklaraci identity, která se shoduje se zadaným predikátem.

(Zděděno od ClaimsIdentity)
HasClaim(String, String)

Určuje, jestli má tato identita deklarací identity deklaraci identity se zadaným typem a hodnotou deklarace identity.

(Zděděno od ClaimsIdentity)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
RemoveClaim(Claim)

Pokusí se odebrat deklaraci identity z identity deklarací identity.

(Zděděno od ClaimsIdentity)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TryRemoveClaim(Claim)

Pokusí se odebrat deklaraci identity z identity deklarací identity.

(Zděděno od ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Serializuje pomocí BinaryWriter.

(Zděděno od ClaimsIdentity)
WriteTo(BinaryWriter)

Serializuje pomocí BinaryWriter.

(Zděděno od ClaimsIdentity)

Platí pro

Viz také