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

// 摘要:
    //     指定与 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;
        }

C# 操作计算机用户权限的更多相关文章

  1. sudo命令: 在其他用户下操作root用户权限

    一. 场景: 在某个远程服务器 A 上,用 账户1 登陆, 想要在root用户的目录下创建一个 .sh文件,  如果直接 用 touch test.sh 创建,会提示权限不足 此时可以用sudo命令: ...

  2. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  3. T-Sql(七)用户权限操作(grant)

    一般数据库的权限操作我们很少用,除非一些大型的项目,需要给数据库配置不同的用户及权限,防患于未然,今天我们就来了解下t-sql中配置用户权限操作. 先看示例代码: --创建登录名 create log ...

  4. mysql 操作用户权限

    使用可以对mysql数据库用户表有操作权限的用户名登陆mysqlinsert into user(Host,User,Password) values('%','name','password');如 ...

  5. django用户权限操作

    第一步:创建数据库和超级管理员,为了比较方便使用(里面有些的是没用的),额外新增 chioces , per_method , argument_list # 用户权限# 建立一个权限表,将映射关系存 ...

  6. mysqli用户权限操作

    此操作指令在 mysql 的数据库中 所以要 use mysql 查询mysqli中所有用户的权限 select host,user form user;  添加用户 grant all privil ...

  7. mysql设置指定ip访问,用户权限相关操作

    基础语法GRANT priv_type ON database.table TO user[IDENTIFIED BY [PASSWORD] 'password'] [,user [IDENTIFIE ...

  8. shiro 实现 用户 a 操作b 的权限 ,用户 b 能够及时获知。b不需要退出登陆 。 关闭鉴权缓存,或者不配置缓存

    <bean id="myRealm" class="com.diancai.util.MyRealm"> <property name=&qu ...

  9. mysql用户权限操作

    mysql用户权限操作1.创建用户mysql -urootcreate database zabbix default charset utf8;grant all on zabbix.* to za ...

随机推荐

  1. 第十一章 Helm-kubernetes的包管理器(中)

    11.5 chart详解 chart由一系列文件组成,这些文件描述了K8s部署应用时需要的资源,比如Servcie.Deployment.PersistentVolmeClaim.Secret.Con ...

  2. USB设备---URB请求块

    1.urb 结构体 USB 请求块(USB request block,urb)是USB 设备驱动中用来描述与USB 设备通信所用的基本载体和核心数据结构,非常类似于网络设备驱动中的sk_buff 结 ...

  3. 【BZOJ】1218: [HNOI2003]激光炸弹(前缀和)

    题目 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为 ...

  4. cinder backup ceph的配置和使用

    Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. 初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态, ...

  5. 第一章 : Android Studio 介绍 [Learn Android Studio 汉化教程]

    摘自:http://ask.android-studio.org/?/question/789,为便于学习重新整理.. 本章将引导您完成安装和设置开发环境,然后你就可以跟随本书的例子和课程学习. 首先 ...

  6. 伸展树(SplayTree)的实现

    优点:伸展树(splay tree)是一种能自我调整的二叉搜索树(BST).虽然某一次的访问操作所花费的时间比较长,但是平摊(amortized) 之后的访问操作(例如旋转)时间能达到O(logn)的 ...

  7. IPHONE 64位和32位

    参考段一:iPhone 5没有64位的,只有32位架构,苹果是从iPhone 5s开始对全线移动产品使用64位架构.iPhone 5s发布之后的所有产品都是64位的使用LUAJIT或LUAC都可以对L ...

  8. 复制新增树状数据_ParentID也需要更新

    CREATE TABLE TreeShip(  [ID] uniqueidentifier PRIMARY KEY NOT NULL,  [Name] [nvarchar](50) NULL,  [R ...

  9. Linux运维入门(二):网络基础知识梳理02

    一,交换机的基本原理 1.1 数据链路层的功能 (1)数据链路层负责网络中相邻节点之间可靠的数据通信,并进行有效的流量控制. (2)数据链路层的作用包括数据链路的建立,维护与拆除,帧包装,帧传输,帧同 ...

  10. Callable接口使用以及计算斐波那契数字的数值总和

    一.简单使用 Runnable是执行工作的独立任务,但是它不返回任何值.如果你希望任务完成的时能够返回一个值,那么可以实现一个Callable接口.在Java SE5中引入的Callable是一种具有 ...