Csharp/C Sharp by API/System.Security.Principal/WindowsPrincipal

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

new WindowsPrincipal(WindowsIdentity wi)

<source lang="csharp"> using System; using System.Security.Principal;

class MainClass {

 public static void Main() 
 {
   WindowsIdentity wi = WindowsIdentity.GetCurrent();
   
   WindowsPrincipal prin = new WindowsPrincipal(wi);
   Console.WriteLine("Principal information:");
   Console.WriteLine("  Authentication Type: {0}", prin.Identity.AuthenticationType);
   Console.WriteLine("  Is authenticated: {0}", prin.Identity.IsAuthenticated);
   Console.WriteLine("  Name: {0}", prin.Identity.Name);
 }

}

</source>


WindowsPrincipal.IsInRole

<source lang="csharp"> using System; using System.Security.Principal; class MainClass {

   public static void Main (string[] args) 
   {
       
       WindowsIdentity identity = WindowsIdentity.GetCurrent();
       WindowsPrincipal principal = new WindowsPrincipal(identity);
       
       foreach (string role in args) 
       {
           Console.WriteLine("Is {0} a member of {1}? = {2}", identity.Name, role, principal.IsInRole(role));
       }
   }

}

</source>