Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questo articolo si applica a Windows.
Per informazioni su ASP.NET Core, vedere ASP.NET Core Security.
Esistono due modi per creare un WindowsPrincipal oggetto, a seconda che il codice debba eseguire ripetutamente la convalida basata sui ruoli o che sia necessario eseguirla una sola volta.
Se il codice deve eseguire ripetutamente la convalida basata sui ruoli, la prima delle procedure seguenti produce meno sovraccarico. Quando il codice deve eseguire convalide basate sui ruoli una sola volta, è possibile creare un WindowsPrincipal oggetto usando la seconda delle procedure seguenti.
Per creare un oggetto WindowsPrincipal per la convalida ripetuta
Chiamare il metodo SetPrincipalPolicy sull'oggetto AppDomain restituito dalla proprietà statica AppDomain.CurrentDomain, passando al metodo un valore di enumerazione PrincipalPolicy che indica quale deve essere la nuova politica. I valori supportati sono NoPrincipal, UnauthenticatedPrincipal e WindowsPrincipal. Il codice seguente illustra questa chiamata al metodo.
AppDomain.CurrentDomain.SetPrincipalPolicy( PrincipalPolicy.WindowsPrincipal);AppDomain.CurrentDomain.SetPrincipalPolicy( _ PrincipalPolicy.WindowsPrincipal)Con il set di criteri, usare la proprietà statica Thread.CurrentPrincipal per recuperare l'entità che incapsula l'utente di Windows corrente. Poiché il tipo restituito della proprietà è IPrincipal, è necessario eseguire il cast del risultato a tipo WindowsPrincipal. Il codice seguente inizializza un nuovo WindowsPrincipal oggetto con il valore del principale associato al thread corrente.
WindowsPrincipal myPrincipal = (WindowsPrincipal) Thread.CurrentPrincipal;Dim myPrincipal As WindowsPrincipal = _ CType(Thread.CurrentPrincipal, WindowsPrincipal)Quando l'oggetto principal è stato creato, è possibile usare uno dei diversi metodi per convalidarlo.
Per creare un oggetto WindowsPrincipal per una singola convalida
Inizializzare un nuovo WindowsIdentity oggetto chiamando il metodo statico WindowsIdentity.GetCurrent , che esegue una query sull'account di Windows corrente e inserisce informazioni su tale account nell'oggetto identity appena creato. Il codice seguente crea un nuovo WindowsIdentity oggetto e lo inizializza all'utente autenticato corrente.
WindowsIdentity myIdentity = WindowsIdentity.GetCurrent();Dim myIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()Creare un nuovo WindowsPrincipal oggetto e passarlo al valore dell'oggetto WindowsIdentity creato nel passaggio precedente.
WindowsPrincipal myPrincipal = new WindowsPrincipal(myIdentity);Dim myPrincipal As New WindowsPrincipal(myIdentity)Quando l'oggetto principal è stato creato, è possibile usare uno dei diversi metodi per convalidarlo.