Sdílet prostřednictvím


Postupy: Vytvoření objektu WindowsPrincipal

Poznámka:

Tento článek se týká Windows.

Informace o ASP.NET Core najdete v tématu ASP.NET Core Security.

Existují dva způsoby vytvoření objektu WindowsPrincipal v závislosti na tom, jestli kód musí opakovaně provádět ověřování na základě role nebo ho musí provést pouze jednou.

Pokud kód musí opakovaně provádět ověřování na základě role, první z následujících postupů vede k nižší režii. Pokud kód potřebuje provést ověřování na základě role pouze jednou, můžete objekt vytvořit WindowsPrincipal pomocí druhé z následujících postupů.

Vytvoření objektu WindowsPrincipal pro opakované ověřování

  1. SetPrincipalPolicy Volání metody u objektuAppDomain, který je vrácen static vlastnostAppDomain.CurrentDomain, předání metody výčtu PrincipalPolicy hodnotu, která označuje, co má být nová zásada. Podporované hodnoty jsou NoPrincipal, UnauthenticatedPrincipala WindowsPrincipal. Následující kód ukazuje volání této metody.

    AppDomain.CurrentDomain.SetPrincipalPolicy(  
        PrincipalPolicy.WindowsPrincipal);  
    
    AppDomain.CurrentDomain.SetPrincipalPolicy( _  
        PrincipalPolicy.WindowsPrincipal)  
    
  2. Se sadou zásad použijte statickou Thread.CurrentPrincipal vlastnost k načtení objektu zabezpečení, který zapouzdřuje aktuálního uživatele systému Windows. Vzhledem k tomu, že návratový typ vlastnosti je IPrincipal, je nutné přetypovat výsledek na WindowsPrincipal typ. Následující kód inicializuje nový WindowsPrincipal objekt na hodnotu objektu zabezpečení přidruženého k aktuálnímu vláknu.

    WindowsPrincipal myPrincipal =
        (WindowsPrincipal) Thread.CurrentPrincipal;  
    
    Dim myPrincipal As WindowsPrincipal = _  
        CType(Thread.CurrentPrincipal, WindowsPrincipal)
    
  3. Po vytvoření objektu zabezpečení můžete k jeho ověření použít jednu z několika metod.

Vytvoření objektu WindowsPrincipal pro jedno ověření

  1. Inicializace nového WindowsIdentity objektu voláním statické WindowsIdentity.GetCurrent metody, která dotazuje aktuální účet Windows a umístí informace o daném účtu do nově vytvořeného objektu identity. Následující kód vytvoří nový WindowsIdentity objekt a inicializuje ho aktuálnímu ověřenému uživateli.

    WindowsIdentity myIdentity = WindowsIdentity.GetCurrent();  
    
    Dim myIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()  
    
  2. Vytvořte nový WindowsPrincipal objekt a předejte jí hodnotu objektu WindowsIdentity vytvořeného v předchozím kroku.

    WindowsPrincipal myPrincipal = new WindowsPrincipal(myIdentity);  
    
    Dim myPrincipal As New WindowsPrincipal(myIdentity)  
    
  3. Po vytvoření objektu zabezpečení můžete k jeho ověření použít jednu z několika metod.

Viz také