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;
            }

  • 相关阅读:
    线性回归损失函数求解
    【线性代数】四个基本子空间
    【线性代数】如何寻找一个投影矩阵
    【hihoCoder】#1133 : 二分·二分查找之k小数
    [LeetCode解题报告] 502. IPO
    [LeetCode解题报告] 703. 数据流中的第K大元素
    【排序】堆排序
    全文检索以及Lucene的应用
    MySql优化之mycat
    MySql优化之主从复制
  • 原文地址:https://www.cnblogs.com/shaozhuyong/p/6021860.html
Copyright © 2011-2022 走看看