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, String)

使用指定的名称和身份验证类型初始化表示用户的类的新实例 GenericIdentity

GenericIdentity(String)

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

字段

名称 说明
DefaultIssuer

默认颁发者;“LOCAL AUTHORITY”。

(继承自 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, Byte[])

使用 BinaryWriter.

(继承自 ClaimsIdentity)
WriteTo(BinaryWriter)

使用 BinaryWriter.

(继承自 ClaimsIdentity)

适用于