|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
需求背景
随着查询引擎应用的推广,以HR为首的一些业务开发部门开始尝试将查询引擎完全推向最终用户,以便适应项目的查询分析灵活性需求和减轻实施人员的交付压力。这当中最大的一个障碍就是查询设计的权限问题。虽然QE已经提供了浏览权限、数据权限等控制方案,但这些都是针对报表浏览者的,对查询设计者并没有约束作用。也就是说,如果一名普通财务人员被赋予了QE的查询设计权限,那么他就可以越权去查薪资表的数据。
V53版本我们利用UAP权限模型提供的插件机制,实现了一个用于控制查询引擎DDC权限的功能。当“QE数据字典”资源权限被启用后,帐套管理员就可以在权限分配节点对公司角色(或集团角色)分配不同的数据字典权限。当某用户登录某公司(或集团)进行查询引擎向导式查询设计的时候,他必须通过数据字典选择数据表,此时系统会根据权限插件提供的接口判断他是否有权选择某张表,并给出相应的提示,从而控制用户随意选表。
本方案配合几个关键按钮的权限控制(查询模型菜单下只分配参数和向导SQL按钮,编辑菜单下不分配粘贴和导入按钮),再为查询设计者建立适当的角色,即可实现对查询设计者的权限约束,使得做自定义查询不再是一件“无法无天”的事。
另有几点说明如下:
1、 不对手工SQL和数据加工进行权限控制,是因为这些查询设计方式完全无法通过简单的数据表约束进行干预。事实上,能够承担查询设计任务的最终用户基本上只能使用向导式设计,因为他毕竟不是技术人员,而向导式也能够满足查询分析的灵活性要求;
2、 只对单数据源版本的查询引擎(客户化下)进行字典权限控制;
3、 只对非帐套管理员的集团用户、公司用户进行字典权限控制;
4、 对于存在复杂业务逻辑的查询设计权限控制需求,可依照查询引擎提供的设计插件机制实现;
5、 对于没有查询设计权限控制要求的项目,只要不启用“QE数据字典”资源权限的开关就可以了。由于这个开关缺省是关闭的,所以不存在升级问题。 |
|