RDIFramework.NET开发实例━表约束条件权限的使用-Web
在上一篇文章“RDIFramework.NET开发实例━表约束条件权限的使用-WinForm”我们讲解了在WinForm下表约束条件权限的使用,下面我们来看看在Web下的使用。
在实际的应用中,客户常有这样的需求,指定用户或角色可以看指定条件下的数据,这里的“指定条件”在RDIFramework.NET框架中,我们称作为“用户或角色的约束条件表达式”。要完成这样的功能,可以通过RDIFramework.NET框架中的用户或角色的“约束条件权限设置”功能即可完成,再在你的业务表单中调用我们的得到用户或角色的约束条件表达式接口即可完成。
可以调用框架提供的下面几个接口即可完成对用户或角色约束条件的得到。
1、RDIFrameworkService.Instance.TableColumnsService.GetConstraint 2、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://www.cnblogs.com/huyong Email: 406590790@qq.com QQ:406590790 平台博客: http://blog.csdn.net/chinahuyong http://www.cnblogs.com/huyong 关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。
相关推荐
RDIFramework.NET代码生成器集代码生成、各数据库对象文档生成、数据库常用管理于一身,是软件开发者快速开发的神器。代码的生成支持基于数据库与PowerDesign设计文件生成,为企业及个人开发者能快速生成常用代码与...
.NET快速开发框架-RDIFramework.NET 全新EasyUI版发布。10年专注、易上手、多组件、全源码、可灵活构建各类型系统。 前端用强大EasyUI,后端.NET最新Mvc,框架对EasyUI进行美化重构优化处理,界面美观,高大上,支持...
使用RDIFramework.NET敏捷开发框架能提高管理类软件系统的整体质量、提高模块与模块之间的兼容性、提高代码的重复利用率,使软件系统架构更加合理、质量更加过硬,使得劳动成果最大程度上重复利用。 框架基础模块...
使用RDIFramework.NET敏捷开发框架能提高管理类软件系统的整体质量、提高模块与模块之间的兼容性、提高代码的重复利用率,使软件系统架构更加合理、质量更加过硬,使得劳动成果最大程度上重复利用。 框架基础模块...
RDIFramework.NET敏捷开发框架,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.NET框架部署方案。 界面精致美观,功能强大,支持Web、WinForm,兼容所有浏览器。
.NET快速信息化系统开发整合框架(RDIFramework.NET)V3.0
.NET开发丰富的公共类库助你事半功倍,作为开发人员(苦逼)经常都在为一些常用的操作Baidu,Google,既耗时,又浪费青春,更没时间谈恋爱,苦逼就是这么来的。开发久了,我相信很个人身上都有自己的一套公共操作类库,...
RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,为企业或个人在.NET环境下快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和公共模块,框架自身提供了强大的函数库和开发包,开发人员...
【RDIFramework.NET 工作流产品说明书 V3.0】是柯锐特软件公司推出的一款基于.NET框架的快速信息化系统开发整合框架的工作流组件。该组件设计与研发结合了RDIFramework.NET多年的项目经验和实践,旨在提供一套高效、...
RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,为企业或个人在.NET环境下快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和公共模块,框架自身提供了强大的函数库和开发包,开发人员...
RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,为企业或个人在.NET环境下快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和公共模块,框架自身提供了强大的函数库和开发包,开发人员...
RDIFramework.NET,基于.NET 的快速信息化系统开发、整合框架,为企业或个人 在.NET 环境下快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和 公共模块,框架自身提供了强大的函数库和开发包,开发...
教务管理系统是高等教育机构或学校用来管理教学活动的重要工具,其主要目的是提高教学管理效率,优化教育资源...通过阅读和调试代码,可以提升对.NET框架、C#语言、数据库设计等方面的掌握,为今后的项目开发积累经验。
RDIFramework.NET框架V2.8以下版本不包含工作流程组件,在实际使用过程中,很多客户提出了让我们在框架中提供对工作流程的想法,终于经过数月的奋战,在V2.8版本开始提供对工作流的支持。RDIFramework.NET工作流程...
RDIFramework.NET框架V2.8以下版本不包含工作流程组件,在实际使用过程中,很多客户提出了让我们在框架中提供对工作流程的想法,终于经过数月的奋战,在V2.8版本开始提供对工作流的支持。RDIFramework.NET工作流程...
RDIFramework.NET 是一个用于快速开发企业级应用的框架,它提供了一系列工具和服务来支持常见的企业应用需求,如权限管理、数据访问层、业务逻辑层等。 #### 三、员工管理系统概述 员工管理系统主要用于管理企业...
使用RDIFrameworkCodeMarkerV3.2Bin时,首先需要确保开发环境已经正确配置了Oracle的驱动,例如JDBC驱动(ojdbc.jar)对于Java环境,或者ODP.NET对于.NET环境。然后,配置数据库连接参数,如数据库URL、用户名、密码...