⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class1.cs

📁 C#开发教程 由浅入深 配有实例 是初学者的好帮手
💻 CS
字号:
using System; 
using System.Threading; 
using System.Security.Principal; 
using System.Security.Permissions;

namespace UseRBS
{
    public class UseRBSApp 
    { 
        [STAThread]
        public static void Main(string[] args) 
        { 
            WindowsIdentity wi =  WindowsIdentity.GetCurrent(); 
            WindowsPrincipal wp = new WindowsPrincipal(wi); 
 
            Console.WriteLine("Principal/Identity values:");
            Console.WriteLine("Name: " +wp.Identity.Name); 

            Console.WriteLine("AuthenticationType: " 
                +wi.AuthenticationType); 
            Console.WriteLine("IsAuthenticated: " +wi.IsAuthenticated); 
            Console.WriteLine("IsAnonymous: " +wi.IsAnonymous); 
            Console.WriteLine("IsGuest: " +wi.IsGuest); 
            Console.WriteLine("IsSystem: " +wi.IsSystem); 
            Console.WriteLine("Token: " +wi.Token); 

            Console.WriteLine("IsInRole \"Administrators\": " 
//              +wp.IsInRole("BUILTIN\\Administrators"));
				+wp.IsInRole(WindowsBuiltInRole.Administrator));

            Console.WriteLine("Identity==VENUS\\\\Andrew: " +
                (String.Compare(wp.Identity.Name, 
                     "VENUS\\Andrew")==0));

            try
            {
                Thread.CurrentPrincipal = wp;
                PrincipalPermission pp =
                    new PrincipalPermission(
                    "VENUS\\Andrew",
                    "BUILTIN\\Administrators");
                pp.Demand();
                Console.WriteLine("PrincipalPermission OK");

				TestDeclarative();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                PrincipalPermission pp1 = new PrincipalPermission(
                    "VENUS\\Andrew", "BUILTIN\\Administrators");
                PrincipalPermission pp2 = new PrincipalPermission(
                    "VENUS\\Polly", "BUILTIN\\Backup Operators");
                (pp1.Union(pp2)).Demand();
                Console.WriteLine("Union Demand OK");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        } 

        [PrincipalPermissionAttribute(SecurityAction.Demand,
             Name = "VENUS\\Andrew", Role = "BUILTIN\\Administrators")]
        public static void TestDeclarative()
        {
            Console.WriteLine("Declarative PrincipalPermission OK");
        }
    } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -