GenericIdentity 类

定义

表示泛型用户。

public ref class GenericIdentity : System::Security::Claims::ClaimsIdentity
public ref class GenericIdentity : System::Security::Principal::IIdentity
public class GenericIdentity : System.Security.Claims.ClaimsIdentity
[System.Serializable]
public class GenericIdentity : System.Security.Principal.IIdentity
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class GenericIdentity : System.Security.Principal.IIdentity
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class GenericIdentity : System.Security.Claims.ClaimsIdentity
type GenericIdentity = class
    inherit ClaimsIdentity
[<System.Serializable>]
type GenericIdentity = class
    interface IIdentity
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GenericIdentity = class
    interface IIdentity
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GenericIdentity = class
    inherit ClaimsIdentity
Public Class GenericIdentity
Inherits ClaimsIdentity
Public Class GenericIdentity
Implements IIdentity
继承
GenericIdentity
继承
GenericIdentity
派生
属性
实现

示例

以下示例演示如何使用 类的成员 GenericIdentity

using namespace System;
using namespace System::Security::Principal;
void ShowIdentityPreferences( GenericIdentity^ genericIdentity );
GenericIdentity^ GetGenericIdentity();

[STAThread]
int main()
{
   // Create a GenericIdentity object with no authentication type 
   // specified.
   GenericIdentity^ defaultIdentity = gcnew GenericIdentity( "DefaultUser" );

   // Retrieve a GenericIdentity created from current WindowsIdentity
   // values.
   GenericIdentity^ currentIdentity = GetGenericIdentity();
   ShowIdentityPreferences( gcnew GenericIdentity( "" ) );
   ShowIdentityPreferences( defaultIdentity );
   ShowIdentityPreferences( currentIdentity );
   Console::WriteLine( "The sample completed successfully; "
   "press Enter to continue." );
   Console::ReadLine();
}

// Print identity preferences to the console window.
void ShowIdentityPreferences( GenericIdentity^ genericIdentity )
{
   // Retrieve the name of the generic identity object.
   String^ identityName = genericIdentity->Name;

   // Retrieve the authentication type of the generic identity object.
   String^ identityAuthenticationType = genericIdentity->AuthenticationType;

   Console::WriteLine( "Name: {0}", identityName );
   Console::WriteLine( "Type: {0}", identityAuthenticationType );

   // Verify that the user's identity has been authenticated
   // (was created with a valid name).
   if ( genericIdentity->IsAuthenticated )
   {
      Console::WriteLine( "The user's identity has been authenticated." );
   }
   else
   {
      Console::WriteLine( "The user's identity has not been "
      "authenticated." );
   }

   Console::WriteLine( "~~~~~~~~~~~~~~~~~~~~~~~~~" );
}


// Create generic identity based on values from the current
// WindowsIdentity.
GenericIdentity^ GetGenericIdentity()
{
   // Get values from the current WindowsIdentity.
   WindowsIdentity^ windowsIdentity = WindowsIdentity::GetCurrent();

   // Construct a GenericIdentity object based on the current Windows
   // identity name and authentication type.
   String^ authenticationType = windowsIdentity->AuthenticationType;
   String^ userName = windowsIdentity->Name;
   GenericIdentity^ authenticatedGenericIdentity = gcnew GenericIdentity( userName,authenticationType );

   return authenticatedGenericIdentity;
}
using System;
using System.Security.Principal;

class GenericIdentityMembers
{
    [STAThread]
    static void Main(string[] args)
    {
        // Create a GenericIdentity object with no authentication type 
        // specified.
        GenericIdentity defaultIdentity = new GenericIdentity("DefaultUser");

        // Retrieve a GenericIdentity created from current WindowsIdentity
        // values.
        GenericIdentity currentIdentity = GetGenericIdentity();

        ShowIdentityPreferences(new GenericIdentity(""));
        ShowIdentityPreferences(defaultIdentity);
        ShowIdentityPreferences(currentIdentity);

        Console.WriteLine("The sample completed successfully; " +
            "press Enter to continue.");
        Console.ReadLine();
    }

    // Print identity preferences to the console window.
    private static void ShowIdentityPreferences(
        GenericIdentity genericIdentity)
    {
        // Retrieve the name of the generic identity object.
        string identityName = genericIdentity.Name;

        // Retrieve the authentication type of the generic identity object.
        string identityAuthenticationType = 
            genericIdentity.AuthenticationType;

        Console.WriteLine("Name: " + identityName);
        Console.WriteLine("Type: " + identityAuthenticationType);
        
        // Verify that the user's identity has been authenticated
        // (was created with a valid name).
        if (genericIdentity.IsAuthenticated)
        {
            Console.WriteLine("The user's identity has been authenticated.");
        }
        else
        {
            Console.WriteLine("The user's identity has not been " + 
                "authenticated.");
        }
        Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~");
    }

    // Create generic identity based on values from the current
    // WindowsIdentity.
    private static GenericIdentity GetGenericIdentity()
    {
        // Get values from the current WindowsIdentity.
        WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent();

        // Construct a GenericIdentity object based on the current Windows
        // identity name and authentication type.
        string authenticationType = windowsIdentity.AuthenticationType;
        string userName = windowsIdentity.Name;
        GenericIdentity authenticatedGenericIdentity =
            new GenericIdentity(userName, authenticationType);

        return authenticatedGenericIdentity;
    }
}
Imports System.Security.Principal

Public Class Form1
    Inherits System.Windows.Forms.Form

    ' Event handler for Run button.
    Private Sub Button1_Click( _
        ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click

        tbxOutput.Cursor = Cursors.WaitCursor
        tbxOutput.Text = ""

        ' Create a GenericIdentity object with no authentication type 
        ' specified.
        Dim defaultIdentity As New GenericIdentity("DefaultUser")

        ' Retrieve a GenericIdentity created from current WindowsIdentity
        ' values.
        Dim currentIdentity As GenericIdentity = GetGenericIdentity()

        ShowIdentityPreferences(New GenericIdentity(""))
        ShowIdentityPreferences(defaultIdentity)
        ShowIdentityPreferences(currentIdentity)

        ' Align interface and conclude application.
        tbxOutput.AppendText(vbCrLf + "This sample completed " + _
            "successfully; press Exit to continue.")

        tbxOutput.Cursor = Cursors.Default
    End Sub

    ' Print identity preferences to the console window.
    Private Sub ShowIdentityPreferences( _
        ByVal genericIdentity As GenericIdentity)

        ' Retrieve the name of the generic identity object.
        Dim identityName As String = genericIdentity.Name

        ' Retrieve the authentication type of the generic identity object.
        Dim identityAuthenticationType As String
        identityAuthenticationType = genericIdentity.AuthenticationType()

        tbxOutput.AppendText(vbCrLf + "Name: " + identityName)
        tbxOutput.AppendText(vbCrLf + "Type: " + identityAuthenticationType)

        tbxOutput.AppendText(vbCrLf)
        
        ' Verify that the user's identity has been authenticated
        ' (was created with a valid name).
        If (genericIdentity.IsAuthenticated) Then
            tbxOutput.AppendText("The user's identity has been " + _
                "authenticated.")
        Else
            tbxOutput.AppendText("The user's identity has not been " + _
                "authenticated.")
        End If

        tbxOutput.AppendText(vbCrLf + "~~~~~~~~~~~~~~~~~~~~~~~~~")
    End Sub

    ' Create generic identity based on values from the current
    ' WindowsIdentity.
    Private Function GetGenericIdentity()
        ' Get values from the current WindowsIdentity.
        Dim windowsIdentity As WindowsIdentity = windowsIdentity.GetCurrent()

        ' Construct a GenericIdentity object based on the current Windows
        ' identity name and authentication type.
        Dim authenticationType As String = windowsIdentity.AuthenticationType
        Dim userName As String = windowsIdentity.Name
        Dim authenticatedGenericIdentity As _
            New GenericIdentity(userName, authenticationType)

        Return authenticatedGenericIdentity
    End Function

    ' Event handler for Exit button.
    Private Sub Button2_Click( _
        ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button2.Click

        Application.Exit()
    End Sub
#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents Panel2 As System.Windows.Forms.Panel
    Friend WithEvents Panel1 As System.Windows.Forms.Panel
    Friend WithEvents Button1 As System.Windows.Forms.Button
    Friend WithEvents Button2 As System.Windows.Forms.Button
    Friend WithEvents tbxOutput As System.Windows.Forms.RichTextBox
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.Panel2 = New System.Windows.Forms.Panel
        Me.Button1 = New System.Windows.Forms.Button
        Me.Button2 = New System.Windows.Forms.Button
        Me.Panel1 = New System.Windows.Forms.Panel
        Me.tbxOutput = New System.Windows.Forms.RichTextBox
        Me.Panel2.SuspendLayout()
        Me.Panel1.SuspendLayout()
        Me.SuspendLayout()
        '
        'Panel2
        '
        Me.Panel2.Controls.Add(Me.Button1)
        Me.Panel2.Controls.Add(Me.Button2)
        Me.Panel2.Dock = System.Windows.Forms.DockStyle.Bottom
        Me.Panel2.DockPadding.All = 20
        Me.Panel2.Location = New System.Drawing.Point(0, 320)
        Me.Panel2.Name = "Panel2"
        Me.Panel2.Size = New System.Drawing.Size(616, 64)
        Me.Panel2.TabIndex = 1
        '
        'Button1
        '
        Me.Button1.Dock = System.Windows.Forms.DockStyle.Right
        Me.Button1.Font = New System.Drawing.Font( _
            "Microsoft Sans Serif", _
            9.0!, _
            System.Drawing.FontStyle.Regular, _
            System.Drawing.GraphicsUnit.Point, _
            CType(0, Byte))
        Me.Button1.Location = New System.Drawing.Point(446, 20)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(75, 24)
        Me.Button1.TabIndex = 2
        Me.Button1.Text = "&Run"
        '
        'Button2
        '
        Me.Button2.Dock = System.Windows.Forms.DockStyle.Right
        Me.Button2.Font = New System.Drawing.Font( _
            "Microsoft Sans Serif", _
            9.0!, _
            System.Drawing.FontStyle.Regular, _
            System.Drawing.GraphicsUnit.Point, _
            CType(0, Byte))
        Me.Button2.Location = New System.Drawing.Point(521, 20)
        Me.Button2.Name = "Button2"
        Me.Button2.Size = New System.Drawing.Size(75, 24)
        Me.Button2.TabIndex = 3
        Me.Button2.Text = "E&xit"
        '
        'Panel1
        '
        Me.Panel1.Controls.Add(Me.tbxOutput)
        Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill
        Me.Panel1.DockPadding.All = 20
        Me.Panel1.Location = New System.Drawing.Point(0, 0)
        Me.Panel1.Name = "Panel1"
        Me.Panel1.Size = New System.Drawing.Size(616, 320)
        Me.Panel1.TabIndex = 2
        '
        'tbxOutput
        '
        Me.tbxOutput.AccessibleDescription = _
            "Displays output from application."
        Me.tbxOutput.AccessibleName = "Output textbox."
        Me.tbxOutput.Dock = System.Windows.Forms.DockStyle.Fill
        Me.tbxOutput.Location = New System.Drawing.Point(20, 20)
        Me.tbxOutput.Name = "tbxOutput"
        Me.tbxOutput.Size = New System.Drawing.Size(576, 280)
        Me.tbxOutput.TabIndex = 1
        Me.tbxOutput.Text = "Click the Run button to run the application."
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 15)
        Me.ClientSize = New System.Drawing.Size(616, 384)
        Me.Controls.Add(Me.Panel1)
        Me.Controls.Add(Me.Panel2)
        Me.Name = "Form1"
        Me.Text = "GenericIdentity"
        Me.Panel2.ResumeLayout(False)
        Me.Panel1.ResumeLayout(False)
        Me.ResumeLayout(False)

    End Sub

#End Region
End Class

注解

标识对象表示代码运行的用户。

构造函数

GenericIdentity(GenericIdentity)

使用指定的 GenericIdentity 对象初始化 GenericIdentity 类的新实例。

GenericIdentity(String)

初始化 GenericIdentity 类的新实例,该类表示具有指定名称的用户。

GenericIdentity(String, String)

初始化 GenericIdentity 类的新实例,该类表示具有指定名称和身份验证类型的用户。

字段

DefaultIssuer

默认颁发者,“地方当局”。

(继承自 ClaimsIdentity)
DefaultNameClaimType

默认名称声明类型;Name

(继承自 ClaimsIdentity)
DefaultRoleClaimType

默认角色声明类型;Role

(继承自 ClaimsIdentity)

属性

Actor

获取或设置被授予委派权利的调用方的标识。

(继承自 ClaimsIdentity)
AuthenticationType

获取用于标识用户的身份验证的类型。

BootstrapContext

获取或设置用于创建此声明标识的令牌。

(继承自 ClaimsIdentity)
Claims

为用户获取此最常用标识表示的所有声明。

CustomSerializationData

包含派生类型提供的任何其他数据。 通常在调用 WriteTo(BinaryWriter, Byte[]) 时设置。

(继承自 ClaimsIdentity)
IsAuthenticated

获取一个值,该值指示是否验证了用户。

Label

获取或设置此声明标识的标签。

(继承自 ClaimsIdentity)
Name

获取用户的名称。

NameClaimType

获取用于确定为此声明标识的 Name 属性提供值的声明的声明类型。

(继承自 ClaimsIdentity)
RoleClaimType

获取将解释为此声明标识中声明的 .NET 角色的声明类型。

(继承自 ClaimsIdentity)

方法

AddClaim(Claim)

添加单个声明到此声明标识。

(继承自 ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

添加声明列表到此声明标识。

(继承自 ClaimsIdentity)
Clone()

创建作为当前实例副本的新对象。

CreateClaim(BinaryReader)

为派生类型提供扩展点以创建自定义 Claim

(继承自 ClaimsIdentity)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FindAll(Predicate<Claim>)

检索所有与指定谓词相匹配的声明。

(继承自 ClaimsIdentity)
FindAll(String)

检索所有有指定声明类型的声明。

(继承自 ClaimsIdentity)
FindFirst(Predicate<Claim>)

检所由指定谓词匹配的第一个声明。

(继承自 ClaimsIdentity)
FindFirst(String)

检索有指定声明类型的第一个声明。

(继承自 ClaimsIdentity)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetObjectData(SerializationInfo, StreamingContext)

用序列化当前SerializationInfo 对象所需的数据来填充 ClaimsIdentity

(继承自 ClaimsIdentity)
GetType()

获取当前实例的 Type

(继承自 Object)
HasClaim(Predicate<Claim>)

确定该声明标识是否拥有与指定条件相匹配的声明。

(继承自 ClaimsIdentity)
HasClaim(String, String)

确定该声明标识是否具备指定声明类型和值。

(继承自 ClaimsIdentity)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
RemoveClaim(Claim)

尝试从声明标识中移除一个声明。

(继承自 ClaimsIdentity)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
TryRemoveClaim(Claim)

尝试从声明标识中移除一个声明。

(继承自 ClaimsIdentity)
WriteTo(BinaryWriter)

使用 BinaryWriter 序列化。

(继承自 ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

使用 BinaryWriter 序列化。

(继承自 ClaimsIdentity)

适用于