RDIFramework.NET开发实例━表约束条件权限的使用-Web
来源:互联网 发布:iphone6s连不上网络 编辑:程序博客网 时间:2024/06/05 11:39
RDIFramework.NET开发实例━表约束条件权限的使用-Web
在上一篇文章“RDIFramework.NET开发实例━表约束条件权限的使用-WinForm”我们讲解了在WinForm下表约束条件权限的使用,下面我们来看看在Web下的使用。
在实际的应用中,客户常有这样的需求,指定用户或角色可以看指定条件下的数据,这里的“指定条件”在RDIFramework.NET框架中,我们称作为“用户或角色的约束条件表达式”。要完成这样的功能,可以通过RDIFramework.NET框架中的用户或角色的“约束条件权限设置”功能即可完成,再在你的业务表单中调用我们的得到用户或角色的约束条件表达式接口即可完成。
可以调用框架提供的下面几个接口即可完成对用户或角色约束条件的得到。
1、RDIFrameworkService.Instance.TableColumnsService.GetConstraint2、RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint
下面我们以实例进行展示约束条件权限的设置,可供用户参考。
要使用“约束条件权限”首先需要在用户权限或角色权限中设置用户或角色的“约束条件”表达式。用户的“约束条件权限设置”如下图所示:
在“系统管理”→“用户权限管理”→“权限设置”→“约束条件权限设置”,即可打开上面的窗口。在“表约束条件”设置窗口,可以选择我们需要设置表的约束条件,点击“设置条件表达式”即可设置。如下图所示:
“角色约束条件的设置”与“用户约束条件设置”类似,可参考上面的“用户约束条件设置”,角色约束条件设置窗口如下:
经过上面的设置,现在我们就可以使用“约束条件”了,使用很简单,只需在需要展示数据的地方通过框架提供的服务接口即可。下面我们以“产品管理”来演示约束条件权限。
在“产品管理”主界面的得到分页数据的代码中调用以下接口即可得到用户的约束条件
1、RDIFrameworkService.Instance.TableColumnsService.GetConstraint(this.UserInfo, PiUserTable.TableName, this.UserInfo.Id, ProductInfoTable.TableName); //按表约束条件获得数据(按当前用户)。2、RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint(this.UserInfo, ProductInfoTable.TableName); //按表约束条件获得数据(得到用户与角色的约束条件)。完整代码如下:
private void GetPageData(RequestParamModel<CASE_PRODUCTINFOEntity> rpm, HttpContext ctx){ var manager = new CASE_PRODUCTINFOManager(this.dbHelper); int recordCount = 0; string sort = rpm.Sort; string order = rpm.Order; if (string.IsNullOrEmpty(sort)) { sort = CASE_PRODUCTINFOTable.FieldCREATEON; } if (string.IsNullOrEmpty(order)) { order = "DESC"; } string filter = rpm.Filter; if (string.IsNullOrEmpty(filter)) { filter = CASE_PRODUCTINFOTable.FieldDELETEMARK + " = 0 "; } UserInfo cUser = Utils.UserInfo; //string userConstraintExpress = RDIFrameworkService.Instance.TableColumnsService.GetConstraint(cUser, PiUserTable.TableName, cUser.Id, CASE_PRODUCTINFOTable.TableName); //按表约束条件获得数据(按当前用户)。 string userConstraintExpress = RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint(cUser, CASE_PRODUCTINFOTable.TableName); //按表约束条件获得数据(得到用户与角色的约束条件)。 if (!string.IsNullOrEmpty(userConstraintExpress)) { filter += " AND " + userConstraintExpress; } var dtTemp = manager.GetDTByPage(out recordCount, rpm.Pageindex, rpm.Pagesize, filter, (sort + " " + order)); ctx.Response.Write(JSONhelper.FormatJSONForEasyuiDataGrid(recordCount, dtTemp));}
在上图中我们对用户”yonghu”设置了约束条件,现在我们以“yonghu”登录系统看下他能看到的数据:
我们对用户“yonghu”设置的约束条件是单价大于10000,在上图中,可以看到系统已经自动过滤了数据共143条数据。我们再以超级管理员用户登录进来看下,如下图所示:
以超级管理员登录的数据是8971条。
以上只是一个简单的实例展示,还可以更加灵活的应用到其他各个实用的场合。
作者: EricHu
出处:http://blog.csdn.net/chinahuyong
Email:406590790@qq.com
QQ交流:406590790
QQ群:237326100
框架博客:http://blog.csdn.net/chinahuyong
http://www.cnblogs.com/huyong
RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.Net框架部署方案。
关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,在面向对象、面向服务以及数据库领域有一定的造诣。现主要从事基于 RDIFramework.NET 框架的技术开发、咨询工作,主要服务于金融、医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。
如有问题或建议,请多多赐教!
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。
- RDIFramework.NET开发实例━表约束条件权限的使用-Web
- RDIFramework.NET开发实例━表约束条件权限的使用-WinForm
- RDIFramework.NET ━ 9.9 角色权限管理 ━ Web部分
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web
- RDIFramework.NET ━ .NET快速信息化系统开发框架 - 4.9 操作(功能)权限管理模块
- RDIFramework.NET ━ .NET快速信息化系统开发框架- 4.11 角色权限管理模块
- RDIFramework.NET ━ 9.7 操作权限项管理 ━ Web部分
- RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件Web业务平台
- RDIFramework.NET V2.8版本 ━ 开发实例之产品管理(WinForm)
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-> Web版本新增新的用户权限设置界面效率更高、更规范
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本新增新的角色授权管理界面效率更高、更规范
- RDIFramework.NET Web版介绍
- RDIFramework.NET ━ .NET快速信息化系统开发框架 记录所有操作的Sql
- RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-Web部分
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本模块管理界面新增模块排序功能
- RDIFramework.NET ━ 9.2 员工管理 ━ Web部分
- RDIFramework.NET ━ 9.3 用户管理 ━ Web部分
- TCP和UDP的区别
- 表级隐含字段: xmin 和 xmax
- PHP三大框架对比
- MyBatis关于Mapper配置文件知识集合
- Restful 与 SOAP
- RDIFramework.NET开发实例━表约束条件权限的使用-Web
- SIP 中的Dialog,call,session 和 transaction
- 关于Tcp/ip协议的三次握手和四次挥手详解
- 我说PHPer的水平区分 (转) (原来我还只是初学者)
- Windows下Nginx启动脚本
- C语言堆栈入门——堆和栈的区别
- soap实例入门(转)
- (NGUI)UISprite 切换图集
- Webservices