Sdílet prostřednictvím


Postupy: Vytvoření objektu WindowsPrincipal

Existují dva způsoby vytvoření objektu WindowsPrincipal, v závislosti na tom, zda kód musí opakovaně provádět ověřování založené na rolích nebo to musí provést pouze jednou.

Pokud kód musí opakovaně provádět ověřování založené na rolích, první z následujících postupů produkuje menší režii. Pokud kód potřebuje provést ověření založené na rolích pouze jednou, můžete vytvořit objekt WindowsPrincipal pomocí použití druhého z následujících postupů.

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

  1. Na objekt AppDomain, který je vrácen statickou vlastností AppDomain.CurrentDomain zavolejte metodu SetPrincipalPolicy. Metodě předejte hodnotu výčtu PrincipalPolicy, která určuje, jaké by měly být nové zásady. Podporované hodnoty jsou NoPrincipal, UnauthenticatedPrincipal a WindowsPrincipal. Následující kód ukazuje volání této metody.

    AppDomain.CurrentDomain.SetPrincipalPolicy(
        PrincipalPolicy.WindowsPrincipal);
    
    AppDomain.CurrentDomain.SetPrincipalPolicy( _
        PrincipalPolicy.WindowsPrincipal)
    
  2. Pro získání objektu zabezpečení, který zapouzdřuje aktuálního uživatele systému Windows, použijte se sadou zásad statickou vlastnost Thread.CurrentPrincipal. Protože návratový typ vlastnosti je IPrincipal, musíte výsledek přetypovat na typ WindowsPrincipal. Následující kód inicializuje nový objekt WindowsPrincipal na hodnotu objektu zabezpečení, která je asociovaná s aktuálním vláknem.

    WindowsPrincipal MyPrincipal = 
        (WindowsPrincipal) Thread.CurrentPrincipal;
    
    Dim MyPrincipal As WindowsPrincipal = _
        CType(Thread.CurrentPrincipal, WindowsPrincipal) 
    
  3. Po vytvoření objektu zabezpečení můžete použít jednu z několika metod pro jeho ověření. Další informace naleznete v tématu Kontroly zabezpečení založené na rolích.

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

  1. Inicializujte nový objekt WindowsIdentity voláním statické metody WindowsIdentity.GetCurrent, která klade dotazy na aktuální účet systému Windows a umísťuje informace o účtu do nově vytvořeného objektu identity. Následující kód vytváří nový objekt WindowsIdentity a inicializuje ho na aktuálně ověřeného uživatele.

    WindowsIdentity MyIdentity = WindowsIdentity.GetCurrent();
    
    Dim MyIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()
    
  2. Vytvořte nový objekt WindowsPrincipal a předejte mu 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 použít jednu z několika metod pro jeho ověření. Další informace naleznete v tématu Kontroly zabezpečení založené na rolích.

Viz také

Koncepty

Objekty zabezpečení a identity