GenericPrincipal Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет универсального участника.
public ref class GenericPrincipal : System::Security::Claims::ClaimsPrincipal
public ref class GenericPrincipal : System::Security::Principal::IPrincipal
public class GenericPrincipal : System.Security.Claims.ClaimsPrincipal
[System.Serializable]
public class GenericPrincipal : System.Security.Principal.IPrincipal
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class GenericPrincipal : System.Security.Principal.IPrincipal
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class GenericPrincipal : System.Security.Claims.ClaimsPrincipal
type GenericPrincipal = class
inherit ClaimsPrincipal
[<System.Serializable>]
type GenericPrincipal = class
interface IPrincipal
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GenericPrincipal = class
interface IPrincipal
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GenericPrincipal = class
inherit ClaimsPrincipal
Public Class GenericPrincipal
Inherits ClaimsPrincipal
Public Class GenericPrincipal
Implements IPrincipal
- Наследование
- Наследование
-
GenericPrincipal
- Производный
- Атрибуты
- Реализации
Примеры
В следующем примере показано использование членов GenericPrincipal класса .
using namespace System;
using namespace System::Security::Principal;
ref class GenericPrincipalMembers
{
public:
[STAThread]
static void Main()
{
// Retrieve a GenericPrincipal that is based on the current user's
// WindowsIdentity.
GenericPrincipal^ genericPrincipal = GetGenericPrincipal();
// Retrieve the generic identity of the GenericPrincipal object.
GenericIdentity^ principalIdentity =
dynamic_cast<GenericIdentity^>(genericPrincipal->Identity);
// Display the identity name and authentication type.
if ( principalIdentity->IsAuthenticated )
{
Console::WriteLine( principalIdentity->Name );
Console::WriteLine( L"Type:{0}",
principalIdentity->AuthenticationType );
}
// Verify that the generic principal has been assigned the
// NetworkUser role.
if ( genericPrincipal->IsInRole( L"NetworkUser" ) )
{
Console::WriteLine( L"User belongs to the NetworkUser role." );
}
Console::WriteLine( L"The sample completed successfully; "
L"press Enter to continue." );
Console::ReadLine();
}
private:
// Create a generic principal based on values from the current
// WindowsIdentity.
static GenericPrincipal^ GetGenericPrincipal()
{
// Use values from the current WindowsIdentity to construct
// a set of GenericPrincipal roles.
WindowsIdentity^ windowsIdentity = WindowsIdentity::GetCurrent();
array<String^>^roles = gcnew array<String^>(10);
if ( windowsIdentity->IsAuthenticated )
{
// Add custom NetworkUser role.
roles[ 0 ] = L"NetworkUser";
}
if ( windowsIdentity->IsGuest )
{
// Add custom GuestUser role.
roles[ 1 ] = L"GuestUser";
}
if ( windowsIdentity->IsSystem )
{
// Add custom SystemUser role.
roles[ 2 ] = L"SystemUser";
}
// Construct a GenericIdentity object based on the current Windows
// identity name and authentication type.
String^ authenticationType = windowsIdentity->AuthenticationType;
String^ userName = windowsIdentity->Name;
GenericIdentity^ genericIdentity = gcnew GenericIdentity(
userName,authenticationType );
// Construct a GenericPrincipal object based on the generic identity
// and custom roles for the user.
GenericPrincipal^ genericPrincipal = gcnew GenericPrincipal(
genericIdentity,roles );
return genericPrincipal;
}
};
int main()
{
GenericPrincipalMembers::Main();
}
using System;
using System.Security.Principal;
class GenericPrincipalMembers
{
[STAThread]
static void Main(string[] args)
{
// Retrieve a GenericPrincipal that is based on the current user's
// WindowsIdentity.
GenericPrincipal genericPrincipal = GetGenericPrincipal();
// Retrieve the generic identity of the GenericPrincipal object.
GenericIdentity principalIdentity =
(GenericIdentity)genericPrincipal.Identity;
// Display the identity name and authentication type.
if (principalIdentity.IsAuthenticated)
{
Console.WriteLine(principalIdentity.Name);
Console.WriteLine("Type:"+principalIdentity.AuthenticationType);
}
// Verify that the generic principal has been assigned the
// NetworkUser role.
if (genericPrincipal.IsInRole("NetworkUser"))
{
Console.WriteLine("User belongs to the NetworkUser role.");
}
Console.WriteLine("The sample completed successfully; " +
"press Enter to continue.");
Console.ReadLine();
}
// Create a generic principal based on values from the current
// WindowsIdentity.
private static GenericPrincipal GetGenericPrincipal()
{
// Use values from the current WindowsIdentity to construct
// a set of GenericPrincipal roles.
WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent();
string[] roles = new string[10];
if (windowsIdentity.IsAuthenticated)
{
// Add custom NetworkUser role.
roles[0] = "NetworkUser";
}
if (windowsIdentity.IsGuest)
{
// Add custom GuestUser role.
roles[1] = "GuestUser";
}
if (windowsIdentity.IsSystem)
{
// Add custom SystemUser role.
roles[2] = "SystemUser";
}
// Construct a GenericIdentity object based on the current Windows
// identity name and authentication type.
string authenticationType = windowsIdentity.AuthenticationType;
string userName = windowsIdentity.Name;
GenericIdentity genericIdentity =
new GenericIdentity(userName, authenticationType);
// Construct a GenericPrincipal object based on the generic identity
// and custom roles for the user.
GenericPrincipal genericPrincipal =
new GenericPrincipal(genericIdentity, roles);
return genericPrincipal;
}
}
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 = ""
' Retrieve a GenericPrincipal that is based on the current user's
' WindowsIdentity.
Dim genericPrincipal As GenericPrincipal = GetGenericPrincipal()
' Retrieve the generic identity of the GenericPrincipal object.
Dim principalIdentity As GenericIdentity = _
CType(genericPrincipal.Identity, GenericIdentity)
' Display identity name and authentication type.
If (principalIdentity.IsAuthenticated) Then
WriteLine(principalIdentity.Name)
WriteLine("Type:" + principalIdentity.AuthenticationType)
End If
' Verify that the generic principal has been assigned the
' NetworkUser role.
If (genericPrincipal.IsInRole("NetworkUser")) Then
WriteLine("User belongs to the NetworkUser role.")
End If
WriteLine("This sample completed successfully; " + _
" press Exit to continue.")
tbxOutput.Cursor = Cursors.Default
End Sub
' Create generic principal based on values from the current
' WindowsIdentity.
Private Function GetGenericPrincipal() As GenericPrincipal
' Use values from the current WindowsIdentity to construct
' a set of GenericPrincipal roles.
Dim roles(10) As String
Dim windowsIdentity As WindowsIdentity = windowsIdentity.GetCurrent()
If (windowsIdentity.IsAuthenticated) Then
' Add custom NetworkUser role.
roles(0) = "NetworkUser"
End If
If (windowsIdentity.IsGuest) Then
' Add custom GuestUser role.
roles(1) = "GuestUser"
End If
If (windowsIdentity.IsSystem) Then
' Add custom SystemUser role.
roles(2) = "SystemUser"
End If
' 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 genericIdentity = _
New GenericIdentity(userName, authenticationType)
' Construct a GenericPrincipal object based on the generic identity
' and custom roles for the user.
Dim genericPrincipal As New GenericPrincipal(genericIdentity, roles)
Return genericPrincipal
End Function
' Write out message with linefeed and carriage return.
Private Sub WriteLine(ByVal message As String)
tbxOutput.AppendText(message + vbCrLf)
End Sub
' 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 = "GenericPrincipal"
Me.Panel2.ResumeLayout(False)
Me.Panel1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
End Class
Комментарии
Этот класс представляет роли текущего пользователя.
Конструкторы
GenericPrincipal(IIdentity, String[]) |
Инициализирует новый экземпляр класса GenericPrincipal из удостоверения пользователя и массива имен ролей, которые назначены представляемому этим удостоверением пользователю. |
Свойства
Claims |
Возвращает коллекцию, содержащую все утверждения из всех удостоверений, основанных на утверждениях, которые связаны с этим субъектом утверждений. (Унаследовано от ClaimsPrincipal) |
CustomSerializationData |
Содержит дополнительные данные, предоставленные производным типом. Обычно устанавливается при вызове WriteTo(BinaryWriter, Byte[]). (Унаследовано от ClaimsPrincipal) |
Identities |
Возвращает коллекцию, содержащую все удостоверения утверждений, связанные с этим субъектом утверждений. (Унаследовано от ClaimsPrincipal) |
Identity |
Получает удостоверение GenericIdentity пользователя, представленного текущим элементом GenericPrincipal. |
Методы
AddIdentities(IEnumerable<ClaimsIdentity>) |
Добавляет указанные удостоверения, основанные на утверждениях, в этот субъект утверждений. (Унаследовано от ClaimsPrincipal) |
AddIdentity(ClaimsIdentity) |
Добавляет указанное удостоверение утверждения к этому участнику утверждений. (Унаследовано от ClaimsPrincipal) |
Clone() |
Возвращает копию этого экземпляра. (Унаследовано от ClaimsPrincipal) |
CreateClaimsIdentity(BinaryReader) |
Создает новое удостоверение, основанное на утверждениях. (Унаследовано от ClaimsPrincipal) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
FindAll(Predicate<Claim>) |
Извлекает все утверждения, соответствующие указанного предикату. (Унаследовано от ClaimsPrincipal) |
FindAll(String) |
Извлекает все утверждения или утверждения, которые имеют заданный тип утверждения. (Унаследовано от ClaimsPrincipal) |
FindFirst(Predicate<Claim>) |
Извлекает первое утверждение, соответствующие указанному предикату. (Унаследовано от ClaimsPrincipal) |
FindFirst(String) |
Извлекает первое утверждение с указанным типом утверждения. (Унаследовано от ClaimsPrincipal) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Заполняет объект SerializationInfo данными, необходимыми для сериализации текущего объекта ClaimsPrincipal. (Унаследовано от ClaimsPrincipal) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
HasClaim(Predicate<Claim>) |
Определяет, содержат ли удостоверения, основанные на утверждениях и связанные с субъектом утверждений, утверждения, которые соответствуют указанному предикату. (Унаследовано от ClaimsPrincipal) |
HasClaim(String, String) |
Определяет, содержат ли удостоверения утверждений, связанные с субъектом утверждений, утверждения с указанным типом и значением. (Унаследовано от ClaimsPrincipal) |
IsInRole(String) |
Определяет, относится ли текущий элемент GenericPrincipal к указанной роли. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
WriteTo(BinaryWriter, Byte[]) |
Выполняет сериализацию с помощью BinaryWriter. (Унаследовано от ClaimsPrincipal) |
WriteTo(BinaryWriter) |
Выполняет сериализацию с помощью BinaryWriter. (Унаследовано от ClaimsPrincipal) |