zoukankan      html  css  js  c++  java
  • C# 操作计算机用户权限

    我们可以用代码来获取当前登录用户的权限信息,    用户角色类型有以下几种:

       // 摘要:
        //     指定与 System.Security.Principal.WindowsPrincipal.IsInRole(System.String) 一起使用的公共角色。
        [Serializable]
        [ComVisible(true)]
        public enum WindowsBuiltInRole
        {
            // 摘要:
            //     管理员具有对计算机或域的完全的无限制的访问权限。
            Administrator = 544,
            //
            // 摘要:
            //     用户被阻止进行意外的或有意的系统级更改。因此,用户可以运行已验证过的应用程序,但不能运行大部分旧式应用程序。
            User = 545,
            //
            // 摘要:
            //     来宾受到比用户更多的限制。
            Guest = 546,
            //
            // 摘要:
            //     超级用户具有大部分管理员权限(但也受到某些限制)。因此,高级用户除了可以运行已验证过的应用程序外,还可以运行旧式应用程序。
            PowerUser = 547,
            //
            // 摘要:
            //     帐户操作员管理计算机或域中的用户帐户。
            AccountOperator = 548,
            //
            // 摘要:
            //     系统操作员管理特定的计算机。
            SystemOperator = 549,
            //
            // 摘要:
            //     打印操作员可以获得打印机的控制权。
            PrintOperator = 550,
            //
            // 摘要:
            //     备份操作员仅在出于备份或还原文件目的时才可以重写安全限制。
            BackupOperator = 551,
            //
            // 摘要:
            //     复制程序支持域中的文件复制。
            Replicator = 552,
        }

      

            /// <summary>
            /// 获取当前用户的角色权限类型
            /// </summary>
            /// <returns></returns>
            public static bool IsAdministrator()
            {
                bool result = false;
                try
                {
                    WindowsIdentity current = WindowsIdentity.GetCurrent();
                    if (current == null)
                    {
                        return false;
                    }
                    result = new WindowsPrincipal(current).IsInRole(WindowsBuiltInRole.Administrator);
                }
                catch (UnauthorizedAccessException)
                {
                }
                catch (Exception)
                {
                }
                return result;
            }

  • 相关阅读:
    汇编语言-子程序调用
    汇编语言-转移指令的原理
    汇编语言-直接定址表
    汇编语言-内中断
    汇编语言-汇编程序初识
    【Mybtais】Mybatis 插件 Plugin开发(一)动态代理步步解析
    【Redis】redis异步消息队列+Spring自定义注解+AOP方式实现系统日志持久化
    【ECharts】报表联动,动态数据设计
    【】POST、GET、RequestParam、ReqestBody、FormData、request payLoad简单认知
    【TensorFlow】Win7下使用Object Detection API 训练自己的数据集,并视频实时检测
  • 原文地址:https://www.cnblogs.com/shaozhuyong/p/6021860.html
Copyright © 2011-2022 走看看