码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-05-31 21:41:58      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:总结 c#   权限   

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







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

标签:总结 c#   权限   

原文地址:http://blog.csdn.net/u010942465/article/details/46291747

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!