如何通过excel实现用户权限控制
2015-05-31 21:11
806 查看
在程序设计中,为了让程序更好的适应每个用户的不同需求,我们经常需要给角色设置一定权限,权限的设置有很多的方式,这篇文章主要介绍一下如何通过excel表格来设置用户权限。
我们现在要实现一个功能,不同用户登录以后,下拉框中显示不同的城市,这里的城市是已经配置好的城市。
原来的城市是没有添加任何权限的,显示效果如下:
实现代码如下:
ProjectCityWrapperCollection projectCityCollection = ExternalDataHelper.GetProjectCity();
this.ddlCity.DataSource = projectCityCollection ;
this.ddlCity.DataTextField = "Name";
this.ddlCity.DataValueField = "Code";
this.ddlCity.DataBind();
现在,我们在excel表格中添加如下用户和城市对应关系:
第一列为用户登录的用户名,第二列为操作人类型,第三列为城市代码,第四列为项目编码。
实现代码如下:
代码说明:首先通过平台已经封装好的类SOARole获取excel中配置好的对应关系,然后在获取城市的数据源,通过比较,产生新的数据源,最后绑定到下拉框中。
考虑到excel名称可能会随时更改,所以将名称写到了配置文件中。
<add key="PlanManageOperate" value="PLAN_MANAGE:PlanOperate"/>
我们现在要实现一个功能,不同用户登录以后,下拉框中显示不同的城市,这里的城市是已经配置好的城市。
原来的城市是没有添加任何权限的,显示效果如下:
实现代码如下:
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>
相关文章推荐
- Windows7下获得System权限问题解决方法
- 用一整天的时间安装postgreSQL NTFS权限
- 星外系统关于权限的综合说明
- 用vbs检查注册表项的访问权限的代码
- sqlserver附加.mdf权限问题解决
- MongoDB系列教程(四):设置用户访问权限
- cacls命令设置文件及其文件夹权限的方法
- “SQL2000数据库”运行在普通用户下所需的权限
- 批处理设置文件访问权限的方法分享
- C#枚举中的位运算权限分配浅谈
- windows 权限之拒绝运行应用程序
- windows IIS权限经典设置教程
- Android用代码获取手机root之后的最高权限
- IIS6.0的默认权限和用户权限设置小结
- VC判断进程是否具有administrator权限的方法
- mysql 新增、删除用户和权限分配
- Powershell实现克隆NTFS文件系统权限
- IIS PHP环境Temp文件夹的权限问题引起的网站故障
- 使SQL用户只能看到自己拥有权限的库(图文教程)
- android 权限大全 分享