壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 327|回复: 0

基于角色的安全性动态报告的样例案例3

[复制链接]
发表于 2012/3/9 14:00:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 xiaoerp 于 2012/3/9 14:01 编辑

在 Report Studio 中创建动态报告
Report Studio 支持使用 Parameter Maps 和 Session Parameters 创建动态报告和查询。可以通过选择 “Project -> Session Parameters” 获取 Framework Manager 中的当前登录用户的可用 Session Parameters 列表(见图 17)。

图 17. Framework Manager:Session Parameters



要创建动态 Data Items,我们将使用此前在 Framework Manager 中使用的相同宏语法创建动态 Query Subject 过滤器。
如图 18 所示,我们可以在 Report Studio 中使用以下 Expression Definition 创建一个 Data Item,在一个报告上显示登录帐户信息:
#sq($account.personalInfo.userName)#

图 18. Report Studio:如何在 Report Studio 中使用登录信息



为确定这个 HR 员工是 “Executive” 还是 “Regular Staff” 成员,我们使用 Parameter Map “Position Code”,它查询对应登录帐户的职位码值。在本例中,我们使用 2000 作为这个 Parameter Map 的默认值(见图 19)。
注意:执行官的职位码小于 2000。

图 19. Framework Manager:Parameter Map “PositionCode”


要显示登录用户的职位,可以在引用 Parameter Map “Position Code” 的 Data Item Expression 中使用以下条件表达式(见图 20)。
if (#$PositionCode{$account.personalInfo.userName}# < 2000) then ('Executive') else ('Regular Employee')

图 20. Report Studio:用于显示 “Position” 信息的条件表达式


在本例中,我们允许所有 HR 员工检索关于他们的国家的所有 HR 信息。但我们也想将对工资和奖金等机密信息的访问权限制到执行官。
可以在 Data Item 中使用条件表达式屏蔽机密信息 — 使用特定字符替换机密信息。在本例中,我们使用 “*****” 屏蔽工资,避免非执行官用户查看。
为此,可以针对每个 Data Item 使用以下条件表达式(见图 21):
If ((#$PositionCode{$account.personalInfo.userName}#<2000) or (#$account.parameters.employeeNumber# = [Employee key])) then ('US$ ' + cast([Employee summary (query)].[Employee summary fact].[Salary], varchar(10))) else ('*****')

图 21. Report Studio:屏蔽机密的 “Salary” 信息


如图 22、23 和 24 所示,这个报告中显示的结果将基于报告执行使用的用户帐户动态改变。例如,当一个非 HR 帐户(例如 “ayamada”)执行此报告时,结果只显示 Akemi Yamada 的 HR 信息。当一个 HR 员工(例如 “akato”)执行报告时,所有针对 Japan 的 HR 信息都会显示,只是工资信息被屏蔽了。当执行官帐户(例如 “dkato”)执行报告时,可以只显示工资信息。

图 22. Report Viewer:ayamada 的报告结果















该贴已经同步到 xiaoerp的微博
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 01:21 , Processed in 0.012733 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表