Aracılığıyla paylaş


FormsIdentity Sınıf

Tanım

Form kimlik doğrulaması kullanılarak kimliği doğrulanmış bir kullanıcı kimliğini temsil eder. Bu sınıf devralınamaz.

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
Devralma
FormsIdentity
Devralma
FormsIdentity
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği bir FormsAuthenticationTicket oluşturur ve ardından kullanıcının formda doğru kullanıcı adını ve parolayı verip vermediğine bağlı olarak sınıfın bir örneğini FormsIdentity oluşturmak için kullanır.

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

Açıklamalar

sınıfı FormsIdentity , bir kullanıcının forms kimlik doğrulamasıyla kimliği doğrulandığında tarafından FormsAuthenticationModule kullanılır. Forms-authentication tanımlama bilgisinden veya URL'den şifresi çözülen kullanılarak FormsAuthenticationTicket sınıfının bir örneği FormsIdentity oluşturulur. sınıfının yeni örneğiFormsIdentity, geçerli HttpContextiçin özelliğinin değeri User olarak ayarlanan yeni GenericPrincipal bir nesne oluşturmak için kullanılır.

Oluşturucular

FormsIdentity(FormsAuthenticationTicket)

FormsIdentity sınıfının yeni bir örneğini başlatır.

FormsIdentity(FormsIdentity)

Belirtilen kimliğe göre sınıfının yeni bir örneğini FormsIdentity başlatır.

Alanlar

DefaultIssuer

Varsayılan veren; "YEREL YETKILI".

(Devralındığı yer: ClaimsIdentity)
DefaultNameClaimType

Varsayılan ad talep türü; Nameöğesini seçin.

(Devralındığı yer: ClaimsIdentity)
DefaultRoleClaimType

Varsayılan rol talep türü; Roleöğesini seçin.

(Devralındığı yer: ClaimsIdentity)

Özellikler

Actor

Temsilci hakları verilen çağıran tarafın kimliğini alır veya ayarlar.

(Devralındığı yer: ClaimsIdentity)
AuthenticationType

Kimliği doğrulanmış kimliğin türünü alır.

BootstrapContext

Bu talep kimliğini oluşturmak için kullanılan belirteci alır veya ayarlar.

(Devralındığı yer: ClaimsIdentity)
Claims

Bu kimlikle ilişkili talep koleksiyonunu alır.

CustomSerializationData

Türetilmiş bir tür tarafından sağlanan ek verileri içerir. genellikle çağrılırken WriteTo(BinaryWriter, Byte[])ayarlanır.

(Devralındığı yer: ClaimsIdentity)
IsAuthenticated

Kimlik doğrulamasının yapılıp yapılmadığını gösteren bir değer alır.

Label

Bu talep kimliği için etiketi alır veya ayarlar.

(Devralındığı yer: ClaimsIdentity)
Name

Form kimliğinin kullanıcı adını alır.

NameClaimType

Bu talep kimliğinin özelliği için değer sağlayan talepleri belirlemek için Name kullanılan talep türünü alır.

(Devralındığı yer: ClaimsIdentity)
RoleClaimType

Bu talep kimliğindeki talepler arasında .NET rolü olarak yorumlanacak talep türünü alır.

(Devralındığı yer: ClaimsIdentity)
Ticket

Form kimlik doğrulaması kullanıcı kimliği için değerini FormsAuthenticationTicket alır.

Yöntemler

AddClaim(Claim)

Bu talep kimliğine tek bir talep ekler.

(Devralındığı yer: ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Bu talep kimliğine taleplerin listesini ekler.

(Devralındığı yer: ClaimsIdentity)
Clone()

Geçerli FormsIdentity örneğin bir kopyasını alır.

CreateClaim(BinaryReader)

Özel Claimbir oluşturmak için türetilmiş türler için bir genişletilebilirlik noktası sağlar.

(Devralındığı yer: ClaimsIdentity)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FindAll(Predicate<Claim>)

Belirtilen koşulla eşleşen tüm talepleri alır.

(Devralındığı yer: ClaimsIdentity)
FindAll(String)

Belirtilen talep türüne sahip tüm talepleri alır.

(Devralındığı yer: ClaimsIdentity)
FindFirst(Predicate<Claim>)

Belirtilen koşulla eşleşen ilk talebi alır.

(Devralındığı yer: ClaimsIdentity)
FindFirst(String)

Belirtilen talep türüne sahip ilk talebi alır.

(Devralındığı yer: ClaimsIdentity)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo geçerli ClaimsIdentity nesneyi seri hale getirmek için gereken verilerle doldurur.

(Devralındığı yer: ClaimsIdentity)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
HasClaim(Predicate<Claim>)

Bu talep kimliğinin belirtilen koşulla eşleşen bir talep olup olmadığını belirler.

(Devralındığı yer: ClaimsIdentity)
HasClaim(String, String)

Bu talep kimliğinin belirtilen talep türüne ve değerine sahip bir talep olup olmadığını belirler.

(Devralındığı yer: ClaimsIdentity)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
RemoveClaim(Claim)

Talep kimliğinden bir talebi kaldırmaya çalışır.

(Devralındığı yer: ClaimsIdentity)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
TryRemoveClaim(Claim)

Talep kimliğinden bir talebi kaldırmaya çalışır.

(Devralındığı yer: ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

kullanarak BinaryWriterseri hale getirmektedir.

(Devralındığı yer: ClaimsIdentity)
WriteTo(BinaryWriter)

kullanarak BinaryWriterseri hale getirmektedir.

(Devralındığı yer: ClaimsIdentity)

Şunlara uygulanır

Ayrıca bkz.