GenericPrincipal(IIdentity, String[]) Konstruktor

Definition

Initialisiert eine neue Instanz der GenericPrincipal Klasse aus einer Benutzeridentität und ein Array von Rollennamen, zu denen der durch diese Identität dargestellte Benutzer gehört.

public:
 GenericPrincipal(System::Security::Principal::IIdentity ^ identity, cli::array <System::String ^> ^ roles);
public GenericPrincipal(System.Security.Principal.IIdentity identity, string[] roles);
public GenericPrincipal(System.Security.Principal.IIdentity identity, string[]? roles);
new System.Security.Principal.GenericPrincipal : System.Security.Principal.IIdentity * string[] -> System.Security.Principal.GenericPrincipal
Public Sub New (identity As IIdentity, roles As String())

Parameter

identity
IIdentity

Eine grundlegende Implementierung, die IIdentity jeden Benutzer darstellt.

roles
String[]

Ein Array von Rollennamen, zu dem der vom Parameter dargestellte identity Benutzer gehört.

Ausnahmen

Der identity Parameter ist null.

Beispiele

Der folgende Code zeigt die Verwendung des GenericPrincipal Konstruktors. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die GenericPrincipal Klasse bereitgestellt wird.

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 );
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);
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)

Gilt für: