如何通过excel实现用户权限控制

在程序设计中,为了让程序更好的适应每个用户的不同需求,我们经常需要给角色设置一定权限,权限的设置有很多的方式,这篇文章主要介绍一下如何通过excel表格来设置用户权限。

我们现在要实现一个功能,不同用户登录以后,下拉框中显示不同的城市,这里的城市是已经配置好的城市。

原来的城市是没有添加任何权限的,显示效果如下:

实现代码如下:

ProjectCityWrapperCollection projectCityCollection = ExternalDataHelper.GetProjectCity();
this.ddlCity.DataSource = projectCityCollection ;
            this.ddlCity.DataTextField = "Name";
            this.ddlCity.DataValueField = "Code";
            this.ddlCity.DataBind();

现在,我们在excel表格中添加如下用户和城市对应关系:

第一列为用户登录的用户名,第二列为操作人类型,第三列为城市代码,第四列为项目编码。

实现代码如下:

private void BindCity()
        {
            List<string> cityList = new List<string>();
            if (planOperateString != null)
            {
                SOARole testRole = new SOARole(planOperateString);
                IEnumerable<SOARolePropertyRow> rows = testRole.Rows.Where(r => r.Operator == DeluxeIdentity.CurrentUser.LogOnName);
                foreach (var item in rows)
                {
                    cityList.Add(item.Values.GetValue("CityCode", ""));
                }
            }

            ProjectCityWrapperCollection projectCityCollection = ExternalDataHelper.GetProjectCity();
            ProjectCityWrapperCollection dataSource = new ProjectCityWrapperCollection();
            foreach (var item in projectCityCollection)
            {
                if (cityList.Contains(item.Code))
                {
                    dataSource.Add(item);
                }
            }
            this.ddlCity.DataSource = dataSource;
            this.ddlCity.DataTextField = "Name";
            this.ddlCity.DataValueField = "Code";
            this.ddlCity.DataBind();
        }

代码说明:首先通过平台已经封装好的类SOARole获取excel中配置好的对应关系,然后在获取城市的数据源,通过比较,产生新的数据源,最后绑定到下拉框中。

考虑到excel名称可能会随时更改,所以将名称写到了配置文件中。

<add key="PlanManageOperate" value="PLAN_MANAGE:PlanOperate"/>
<span style="font-family: SimSun;font-size:18px;">string planOperateString = ConfigurationManager.AppSettings["PlanManageOperate"];</span>
时间: 2024-10-20 08:46:09

如何通过excel实现用户权限控制的相关文章

2.4.3、Django用户权限控制

上面已经实现了登录和注销功能,但是还没起作用. 我们需要在每个视图函数里加上限制@login_required 如下: from django.contrib.auth.decorators import login_required ... ... @login_required def data_daka(request): all = class.objects.all() ... ... login_required实现了如下功能: 如果用户没有登录, 重定向到/accounts/log

springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

项目结构: 1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <dependency>     <groupid>javax.servlet</groupid>     javax.servlet-api</artifactid>     <version>3.0.1</version>

用户权限控制之命令篇

背景:如果数据库启动没有启用权限控制,那么只要通过IP,PORT就能连上,危险性很高,所有要设置用户访问权限.一.在未设置权限状态下,增加访问用户.> use adminswitched to db admin>db.system.users.find()> db.createUser( {user:"myUserAdmin",pwd:"abc123",roles:[{role:"readWriteAnyDatabase",db

Mysql用户权限控制(5.7以上版本)

1.1. 最简单的MySql权限   最简单也是最高效的,如果解决新手们删库跑路的问题其实也是很简单的,对于正式库只给一个增删改查的权限,或者只给一个查询权限(是不是就解决了删库的可能性?) 以下内容如果看官是大牛,请稍安勿躁,我讲内容的方式是从简单到入门,从入门到进阶,从进阶到实战,从实战到...(包你满意) 使用Root用户,执行 grant SELECT on mall.* TO 'dev'@'192.168.244.%' IDENTIFIED BY '123' WITH GRANT OP

MongoDB 3.X 用户权限控制

摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进入查看数据库,只有一个local库,admin库是不存在的: [email protected]:/usr/local/mongo4# mongo --port=27020 MongoDB shell version: 3.0.4 connecting to: 127.0.0.1:27020/tes

Oracle系列:(26)用户权限控制

1.用户 Oracle中的用户分为二大类 1)Oracle数据库服务器创建时,由系统自动创建的用户,叫系统用户,如sys. 2)利用系统用户创建的用户,叫普通用户,如scott,hr,c##tiger,zhaojun,... >用sys登录,查询当前Oracle数据库服务器中已有用户的名字和状态 username表示登录名 expired&locked表示帐号过期和锁定 open表示帐号现在可用   sqlplus / as sysdba;   col username for a30;  

mongodb 用户权限控制

MongoDB已经使用很长一段时间了,基于MongoDB的数据存储也一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),今天特地花了一点时间研究了一下,研究成果如下: 注:研究成果基于Windows平台 MongoDB在本机安装部署好后 1. 输入命令:show dbs,你会发现它内置有两个数据库,一个名为admin,一个名为local.local好像没啥用,如果哪位在使用过程中发现了这个local表的用途,希望能够留言提醒,那我们就专心来说说admin表 2. 输入命令:use

用户权限控制

当前用户只查看当前用户的创业导师: Action 获取当前用户的id: // liwentao 2017-5-18 获取用户ID方法 LoginContext loginContext=getLoginContext(); //声明用户id得到获取的ID String addusercode=loginContext.getUserCode(); //把声明的id加入到查询方法里面.   List<SpaceInstructorInfoEntity> list = spaceInstructo

springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制

项目结构: 1.maven项目的pom中引入shiro所需的jar包依赖关系 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.ap