Procedure: Een WindowsPrincipal-object maken
Notitie
Dit artikel is van toepassing op Windows.
Zie ASP.NET Core Security voor meer informatie over ASP.NET Core.
Er zijn twee manieren om een WindowsPrincipal object te maken, afhankelijk van of code herhaaldelijk validatie op basis van rollen moet uitvoeren of slechts één keer moet worden uitgevoerd.
Als code herhaaldelijk validatie op basis van rollen moet uitvoeren, produceert de eerste van de volgende procedures minder overhead. Wanneer code slechts eenmaal validaties op basis van rollen moet maken, kunt u een WindowsPrincipal object maken met behulp van de tweede van de volgende procedures.
Een WindowsPrincipal-object maken voor herhaalde validatie
Roep de SetPrincipalPolicy methode aan voor het AppDomain object dat wordt geretourneerd door de statische AppDomain.CurrentDomain eigenschap en geef de methode een PrincipalPolicy opsommingswaarde door die aangeeft wat het nieuwe beleid moet zijn. Ondersteunde waarden zijn NoPrincipal, UnauthenticatedPrincipalen WindowsPrincipal. De volgende code demonstreert deze methode-aanroep.
AppDomain.CurrentDomain.SetPrincipalPolicy( PrincipalPolicy.WindowsPrincipal);
AppDomain.CurrentDomain.SetPrincipalPolicy( _ PrincipalPolicy.WindowsPrincipal)
Met de beleidsset gebruikt u de statische Thread.CurrentPrincipal eigenschap om de principal op te halen die de huidige Windows-gebruiker inkapselt. Omdat het retourtype van de eigenschap is IPrincipal, moet u het resultaat naar een WindowsPrincipal type casten. Met de volgende code wordt een nieuw WindowsPrincipal object geïnitialiseerd naar de waarde van de principal die is gekoppeld aan de huidige thread.
WindowsPrincipal myPrincipal = (WindowsPrincipal) Thread.CurrentPrincipal;
Dim myPrincipal As WindowsPrincipal = _ CType(Thread.CurrentPrincipal, WindowsPrincipal)
Wanneer het principal-object is gemaakt, kunt u een van de verschillende methoden gebruiken om het te valideren.
Een WindowsPrincipal-object maken voor één validatie
Initialiseer een nieuw WindowsIdentity object door de statische WindowsIdentity.GetCurrent methode aan te roepen, waarmee het huidige Windows-account wordt opgevraagd en informatie over dat account wordt geplaatst in het zojuist gemaakte identiteitsobject. Met de volgende code wordt een nieuw WindowsIdentity object gemaakt en geïnitialiseerd voor de huidige geverifieerde gebruiker.
WindowsIdentity myIdentity = WindowsIdentity.GetCurrent();
Dim myIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()
Maak een nieuw WindowsPrincipal object en geef dit door aan de waarde van het WindowsIdentity object dat u in de vorige stap hebt gemaakt.
WindowsPrincipal myPrincipal = new WindowsPrincipal(myIdentity);
Dim myPrincipal As New WindowsPrincipal(myIdentity)
Wanneer het principal-object is gemaakt, kunt u een van de verschillende methoden gebruiken om het te valideren.