C#实现判断当前操作用户管理角色的方法

本文实例讲述了C#实现判断当前操作用户管理角色的方法。分享给大家供大家参考。具体实现方法如下:

/// <summary>
/// 判断当前操作用户的管理角色
/// </summary>
public static void GetCurrentUserRole()
{
  AppDomain appDomain = System.Threading.Thread.GetDomain();
  appDomain.SetPrincipalPolicy(System.Security.Principal.PrincipalPolicy.WindowsPrincipal);
  System.Security.Principal.WindowsPrincipal wp = System.Threading.Thread.CurrentPrincipal as System.Security.Principal.WindowsPrincipal;
  bool IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.Guest);
  Console.Write("当前用户的角色是:");
  if (IsUser)
    Console.WriteLine("来宾");
  IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.User);
  if (IsUser)
    Console.WriteLine("普通用户");
  IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.PowerUser);
  if (IsUser)
    Console.WriteLine("超级用户");
  IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator);
  if (IsUser)
    Console.WriteLine("系统管理员");
  IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.SystemOperator);
  if (IsUser)
    Console.WriteLine("系统操作员");
  IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.BackupOperator);
  if (IsUser)
    Console.WriteLine("备份操作员");
  IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.PrintOperator);
  if (IsUser)
    Console.WriteLine("打印操作员");
  IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.AccountOperator);
  if (IsUser)
    Console.WriteLine("账户操作员");
  IsUser = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.Replicator);
  if (IsUser)
    Console.WriteLine("复制程序员");
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C#实现将选中复选框的信息返回给用户的方法

    本文实例讲述了C#实现将选中复选框的信息返回给用户的方法.分享给大家供大家参考.具体实现方法如下: /// <summary> /// 自定义方法,获得复选框中选中的值,用指定的分隔符隔开 /// </summary> /// <param name="split">分隔符</param> /// <param name="chk">复选框名称</param> /// <returns&g

  • C#创建windows系统用户的方法

    本文实例讲述了C#创建windows系统用户的方法.分享给大家供大家参考.具体如下: 下面的代码可以通过c#创建一个windows的本地系统账户,参数包括用户名.密码.显示名称.描述.是否强制修改密码.密码是否过期 /// <summary> /// method to create a new local Windows user account /// </summary> /// <param name="username">Username

  • C# Winform 禁止用户调整ListView的列宽

    复制代码 代码如下: // 事件: 改变列宽的时候 private void ColumnWidthChange(object sender, ColumnWidthChangingEventArgs e) { // 如果调整的不是第一列,就不管了 if (e.ColumnIndex > 0) return; // 取消掉正在调整的事件 e.Cancel = true; // 把新宽度恢复到之前的宽度 e.NewWidth = this.lvStudents.Columns[e.ColumnIn

  • C#用户定义类型转换详解

    C#用户定义类型转换 •用于自定义类和结构能够进行隐式转换和显示转换.例如:将一个自定义类类型转换成整型,浮点型等,反之亦然. C#提供隐式转换和显式转换 •隐式转换:编译器自动执行转换•显式转换:编译器只在使用显式转换运算符时才执行转换声明隐式转换的语法如下.注:所有用户定义转换必须使用public和static修饰符 复制代码 代码如下: public static implicit operator TargetType(SourceType Identifier){       ... 

  • c# 对windows用户和组操作实例

    复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.DirectoryServices;namespace JH.Framework.Security{    /// /// 计算机用户和组操作类    /// public class UserAndGroupHelper    {        private static reado

  • c#之用户定义的数据类型转换介绍

    c# 允许用户进行两种定义的数据类型转换,显式和隐式,显式要求在代码中显式的标记转换,其方法是在圆括号中写入目标数据类型. 对于预定义的数据类型,当数据类型转换时可能失败或丢失某些数据,需要显式转换, 1 把int数值转换成short时,因为short可能不够大,不能包含转换的数值. 2 把有符号的数据转换为无符号的数据,如果有符号的变量包含一个负值,会得到不正确的结果. 3 把浮点数转换为整数数据类型时,数字的小数部分会丢失. 此时应在代码中进行显式数据类型,告诉边起义你知道这会有丢失数据的危

  • asp.net(c#)限制用户输入规定的字符和数字的代码

    一下是这个代码: 只允许 用户名输入:用户名称的开头,必须为0~9.a~z或A~Z ! 复制代码 代码如下: protected void Button3_Click(object sender, EventArgs e) { int error_count = 0; //用于识别用户名的合法性 string str = TextBox1.Text.Trim(); if (str == string.Empty) { Response.Write("用户名称不能为空!"); retur

  • C# 获取系统进程的用户名

    需要添加对 System.Management.dll 的引用 复制代码 代码如下: using System.Diagnostics; using System.Management;static void Main(string[] args) { foreach (Process p in Process.GetProcesses()) { Console.Write(p.ProcessName); Console.Write("----"); Console.WriteLine

  • c#通过进程调用cmd判断登录用户权限代码分享

    复制代码 代码如下: /// <summary>/// 应用程序的主入口点./// </summary>[STAThread]static void Main(){ if (RunCmd("net localgroup administrators").IndexOf(System.Environment.UserName) >= 0)    { //顺利执行.    }    else    {        //报错提示系统不是管理员用户登录,容易导致

  • C#实现判断当前操作用户管理角色的方法

    本文实例讲述了C#实现判断当前操作用户管理角色的方法.分享给大家供大家参考.具体实现方法如下: /// <summary> /// 判断当前操作用户的管理角色 /// </summary> public static void GetCurrentUserRole() { AppDomain appDomain = System.Threading.Thread.GetDomain(); appDomain.SetPrincipalPolicy(System.Security.Pr

  • MongoDB快速入门笔记(七)MongoDB的用户管理操作

    MongoDB 简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 1.修改启动MongoDB时要求用户验证 加参数 --auth 即可. 现在我们把MongoDB服务删除,再重新添加服务 复制代码 代码如下: mongod --dbpath "D:\work\MongoDB\data" --

  • MySQL 8.0用户和角色管理原理与用法详解

    本文实例讲述了MySQL 8.0用户和角色管理.分享给大家供大家参考,具体如下: MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理, 默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设置, 这样方面用户的管理和权限的管理,也增加了用户的安全性. MySQL8.0中,MySQL库中表的文件合并到数据根目录中的mysql.ibd中(MySQL8.0 Innodb引擎重构). 同时MySQL8.0可以使用SET PERSIST动态修改参

  • Oracle的用户、角色及权限相关操作

    1.创建用户 create user KD identified by 123456; 2.授予连接数据库的权限 grant connect to KD; 3.将Scott用户的emp表授权给KD可以查询 grant select on scott.emp to KD; grant create table to KD; 4.回收权限 revoke select on scott.emp from KD; 5.表的增删改权限授权 grant select,inset,delete,update

  • mysql用户管理操作实例分析

    本文实例讲述了mysql用户管理操作.分享给大家供大家参考,具体如下: 本文内容: 用户的介绍 查看用户 创建用户帐户 修改账户 删除帐户 关于匿名用户 首发日期:2018-04-19 用户的介绍: mysql的客户端连接是以用户名来登录服务端. 服务端可以对用户的权限来进行更改,所以每个用户对数据库或对数据表的权限都是不一样的. 一般来说不应该使用root用户登录,因为root用户拥有最高的权限,可以进行删除数据库等"危险"操作.为了安全,应该使用其他用户登录,并且给他分配合适的权限

  • MySQL权限控制和用户与角色管理实例分析讲解

    目录 一.MySQL用户登录 二.用户管理 三.权限控制 四.角色管理 一.MySQL用户登录 一般在本机上我们的登录命令:mysql -u root -p+密码 这里介绍命令的作用:-u  指定用户名-h  指定主机地址(默认为localhost)-p  指定用户输入的密码-P  指定服务器的端口(默认为3306) 二.用户管理 什么是用户管理呢?在创建了一个数据库后,数据库的管理员或者是创建者可以创建用户并同时对该用户做出限制(也就是用户的权限),当其他人想要访问该数据库时,可以通过使用该用

  • PostgreSQL 角色与用户管理介绍

    一.角色与用户的区别 角色就相当于岗位:角色可以是经理,助理.用户就是具体的人:比如陈XX经理,朱XX助理,王XX助理.在PostgreSQL 里没有区分用户和角色的概念,"CREATE USER" 为 "CREATE ROLE" 的别名,这两个命令几乎是完全相同的,唯一的区别是"CREATE USER" 命令创建的用户默认带有LOGIN属性,而"CREATE ROLE" 命令创建的用户默认不带LOGIN属性(CREATE U

  • Linux帮助和用户管理命令

    上篇文章我们介绍了Linux文件搜索命令,其中find是用的最多的也是功能最强大的文件或目录搜索命令,和另一个搜索命令locate的区别是,find命令是全盘搜索,刚创建的文件也能搜索的到,而locate是在文件资料库中进行搜索,对比find命令搜索速度快很多,但是新创建的文件如果没有收录到文件资料库中,使用locate命令是搜索不到的,再就是/tmp目录是不收录到文件资料库的,也就是说使用locate命令搜索不到在/tmp目录下的文件.然后我们介绍搜索命令所在的目录以及别名信息which,搜索

  • asp.net微信开发(已关注用户管理)

    公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成.一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求. 接口调用请求说明 http请求方式: GET(请使用https协议) 返回说明 正确时返回JSON数据包: 错误时返回JSON数据包(示例为无效AppID错误): {"errcode":40013,"errmsg":"invalid

  • MySQL用户管理

    MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么.MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限.两条语句扮演了mysql数据库的前端角色,并提供与直接操作这些表的内容不同的另一种方法.CREATE和REVOKE语句影响4个表:授权表内容 user 能连接服务器的用户以及他们拥有的任何全局权限 db 数据库级权限 tables_priv 表级权限 c

随机推荐