在一个BI系统中,一般都有多个用户同时使用。在进行分析时,每个用户只需看到他自己的数据即可。在BIEE中,实现方法如下:
一、创建一张外部表,用于存放帐号信息。表名为user_info。字段分别为:ID,密码,显示名称,所属用户组。
二、打开Admin Tool。把user_info这张表导进去(这张表也是放在数据仓库中)。
三、在Admin Tool中,依次点击菜单栏上的 Manage-Security。
四、在Security Manager中,依次点击 Action-New-Group。在Name处输入“西城区”(这是张三所在的组),然后点击Permissions。
五、在打开的对话框中点击Filters,再点击Add,添加一个删选条件。然后依次点击“确定”推出。
六、在Adimin Tool中依次点击Manage-Variables。在打开的窗口中,点击Initialization Blocks,然后在右边的面板中点击右键,选择New Initialization Blocks。输入名字为AUTH。
七、点击“Edit Data Source”,在Connection Pool处选择对应的连接池。在空白处输入如下SQL语句:
select user_id, user_pas, user_group, user_name from user_info
where user_id = ':USER' and user_pas = ':PASSWORD'
注:USER和PASSWORD是两个系统参数,用于接收Answers登录界面的用户名和密码。
八、点击“Edit Data Target”,对应之前的SQL语句,新建4个参数,分别用接收取到的数据。
九、保存资料库。为了使改动生效,重新启动“Oracle BI Server”这个服务。
十、打开Answers。使用zhangsan这个账户登录。
十一、验证效果。在新建的页面里,我只选“行政区域”和“用户”这两个维度。
结果如下,张三只能看到西城区的数据,说明权限控制起作用了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12199764/viewspace-616305/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12199764/viewspace-616305/