Thread.CurrentPrincipal Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia bieżącą jednostkę wątku (dla zabezpieczeń opartych na rolach).
public:
static property System::Security::Principal::IPrincipal ^ CurrentPrincipal { System::Security::Principal::IPrincipal ^ get(); void set(System::Security::Principal::IPrincipal ^ value); };
public static System.Security.Principal.IPrincipal? CurrentPrincipal { get; set; }
public static System.Security.Principal.IPrincipal CurrentPrincipal { get; set; }
static member CurrentPrincipal : System.Security.Principal.IPrincipal with get, set
Public Shared Property CurrentPrincipal As IPrincipal
Wartość właściwości
Wartość IPrincipal reprezentująca kontekst zabezpieczeń.
Wyjątki
Obiekt wywołujący nie ma uprawnień wymaganych do ustawienia podmiotu zabezpieczeń.
Przykłady
Poniższy przykład kodu przedstawia sposób ustawiania i pobierania podmiotu zabezpieczeń wątku.
using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::Security::Principal;
using namespace System::Threading;
int main()
{
array<String^>^rolesArray = {"managers","executives"};
try
{
// Set the principal to a new generic principal.
Thread::CurrentPrincipal = gcnew GenericPrincipal( gcnew GenericIdentity( "Bob","Passport" ),rolesArray );
}
catch ( SecurityException^ secureException )
{
Console::WriteLine( "{0}: Permission to set Principal "
"is denied.", secureException->GetType()->Name );
}
IPrincipal^ threadPrincipal = Thread::CurrentPrincipal;
Console::WriteLine( "Name: {0}\nIsAuthenticated: {1}"
"\nAuthenticationType: {2}", threadPrincipal->Identity->Name, threadPrincipal->Identity->IsAuthenticated.ToString(), threadPrincipal->Identity->AuthenticationType );
}
using System;
using System.Security;
using System.Security.Permissions;
using System.Security.Principal;
using System.Threading;
class Principal
{
static void Main()
{
string[] rolesArray = {"managers", "executives"};
try
{
// Set the principal to a new generic principal.
Thread.CurrentPrincipal =
new GenericPrincipal(new GenericIdentity(
"Bob", "Passport"), rolesArray);
}
catch(SecurityException secureException)
{
Console.WriteLine("{0}: Permission to set Principal " +
"is denied.", secureException.GetType().Name);
}
IPrincipal threadPrincipal = Thread.CurrentPrincipal;
Console.WriteLine("Name: {0}\nIsAuthenticated: {1}" +
"\nAuthenticationType: {2}",
threadPrincipal.Identity.Name,
threadPrincipal.Identity.IsAuthenticated,
threadPrincipal.Identity.AuthenticationType);
}
}
open System.Security
open System.Security.Principal
open System.Threading
let rolesArray = [| "managers"; "executives" |]
try
// Set the principal to a new generic principal.
Thread.CurrentPrincipal <- GenericPrincipal(GenericIdentity("Bob", "Passport"), rolesArray)
with :? SecurityException as secureException ->
printfn $"{secureException.GetType().Name}: Permission to set Principal is denied."
let threadPrincipal = Thread.CurrentPrincipal
printfn $"Name: {threadPrincipal.Identity.Name}\nIsAuthenticated: {threadPrincipal.Identity.IsAuthenticated}\nAuthenticationType: {threadPrincipal.Identity.AuthenticationType}"
Option Explicit
Option Strict
Imports System.Security
Imports System.Security.Permissions
Imports System.Security.Principal
Imports System.Threading
Public Class Principal
<MTAThread> _
Shared Sub Main()
Dim rolesArray As String() = {"managers", "executives"}
Try
' Set the principal to a new generic principal.
Thread.CurrentPrincipal = _
New GenericPrincipal(New GenericIdentity( _
"Bob", "Passport"), rolesArray)
Catch secureException As SecurityException
Console.WriteLine("{0}: Permission to set Principal " & _
"is denied.", secureException.GetType().Name)
End Try
Dim threadPrincipal As IPrincipal = Thread.CurrentPrincipal
Console.WriteLine( _
"Name: {0}" & vbCrLf & "IsAuthenticated:" & _
" {1}" & vbCrLf & "AuthenticationType: {2}", _
threadPrincipal.Identity.Name, _
threadPrincipal.Identity.IsAuthenticated, _
threadPrincipal.Identity.AuthenticationType)
End Sub
End Class
Dotyczy
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.