Bagikan melalui


FormsIdentity Kelas

Definisi

Mewakili identitas pengguna yang diautentikasi menggunakan autentikasi formulir. Kelas ini tidak dapat diwariskan.

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
Warisan
FormsIdentity
Warisan
FormsIdentity
Atribut
Penerapan

Contoh

Contoh kode berikut menghasilkan FormsAuthenticationTicket lalu menggunakannya untuk membuat instans FormsIdentity kelas, berdasarkan apakah pengguna memberikan nama pengguna dan kata sandi yang benar pada formulir.

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

Keterangan

Kelas FormsIdentity digunakan oleh FormsAuthenticationModule saat pengguna diautentikasi dengan autentikasi formulir. Instans FormsIdentity kelas dibuat menggunakan FormsAuthenticationTicket yang didekripsi dari cookie autentikasi formulir atau dari URL. Instans FormsIdentity baru kelas digunakan untuk membuat objek baru GenericPrincipal yang ditetapkan sebagai nilai User properti untuk saat ini HttpContext.

Konstruktor

FormsIdentity(FormsAuthenticationTicket)

Menginisialisasi instans baru kelas FormsIdentity.

FormsIdentity(FormsIdentity)

Menginisialisasi instans FormsIdentity baru kelas berdasarkan identitas yang ditentukan.

Bidang

DefaultIssuer

Pengeluar sertifikat default; "OTORITAS LOKAL".

(Diperoleh dari ClaimsIdentity)
DefaultNameClaimType

Jenis klaim nama default; Name.

(Diperoleh dari ClaimsIdentity)
DefaultRoleClaimType

Jenis klaim peran default; Role.

(Diperoleh dari ClaimsIdentity)

Properti

Actor

Mendapatkan atau menetapkan identitas pihak pemanggil yang diberikan hak delegasi.

(Diperoleh dari ClaimsIdentity)
AuthenticationType

Mendapatkan jenis identitas terautentikasi.

BootstrapContext

Mendapatkan atau mengatur token yang digunakan untuk membuat identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Claims

Mendapatkan pengumpulan klaim yang terkait dengan identitas ini.

CustomSerializationData

Berisi data tambahan yang disediakan oleh jenis turunan. Biasanya diatur saat memanggil WriteTo(BinaryWriter, Byte[]).

(Diperoleh dari ClaimsIdentity)
IsAuthenticated

Mendapatkan nilai yang menunjukkan apakah autentikasi terjadi.

Label

Mendapatkan atau mengatur label untuk identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Name

Mendapatkan nama pengguna identitas formulir.

NameClaimType

Mendapatkan jenis klaim yang digunakan untuk menentukan klaim mana yang memberikan nilai untuk Name properti identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
RoleClaimType

Mendapatkan jenis klaim yang akan ditafsirkan sebagai peran .NET di antara klaim dalam identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Ticket

FormsAuthenticationTicket Mendapatkan untuk identitas pengguna autentikasi formulir.

Metode

AddClaim(Claim)

Menambahkan satu klaim ke identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Menambahkan daftar klaim ke identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Clone()

Mendapatkan salinan instans saat ini FormsIdentity .

CreateClaim(BinaryReader)

Menyediakan titik ekstensibilitas untuk jenis turunan untuk membuat kustom Claim.

(Diperoleh dari ClaimsIdentity)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FindAll(Predicate<Claim>)

Mengambil semua klaim yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsIdentity)
FindAll(String)

Mengambil semua klaim yang memiliki jenis klaim yang ditentukan.

(Diperoleh dari ClaimsIdentity)
FindFirst(Predicate<Claim>)

Mengambil klaim pertama yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsIdentity)
FindFirst(String)

Mengambil klaim pertama dengan jenis klaim yang ditentukan.

(Diperoleh dari ClaimsIdentity)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetObjectData(SerializationInfo, StreamingContext)

Mengisi dengan data yang SerializationInfo diperlukan untuk membuat serial objek saat ini ClaimsIdentity .

(Diperoleh dari ClaimsIdentity)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
HasClaim(Predicate<Claim>)

Menentukan apakah identitas klaim ini memiliki klaim yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsIdentity)
HasClaim(String, String)

Menentukan apakah identitas klaim ini memiliki klaim dengan jenis dan nilai klaim yang ditentukan.

(Diperoleh dari ClaimsIdentity)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
RemoveClaim(Claim)

Mencoba menghapus klaim dari identitas klaim.

(Diperoleh dari ClaimsIdentity)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TryRemoveClaim(Claim)

Mencoba menghapus klaim dari identitas klaim.

(Diperoleh dari ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Menserialisasikan menggunakan BinaryWriter.

(Diperoleh dari ClaimsIdentity)
WriteTo(BinaryWriter)

Menserialisasikan menggunakan BinaryWriter.

(Diperoleh dari ClaimsIdentity)

Berlaku untuk

Lihat juga