King

business intelligence ,is my love。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

好久没去认真的做一件事情了,接触BI这么久(2-3)年了吧,此时已经二十五六岁,最近研究了一下自我感觉比较薄弱的权限问题,话不多说,咱们直接说事。

众所周知:cognos本身不提供用户管理功能,不知道为啥,但是却支持多种第三方身份验证程序,比如Active Directory,LDAP ,NTLM,Cognos Series7等等。

说了这么多,我们还是说一下Customer java provider 方式吧,利用自定义JAVA程序实现Cognos第三方用户身份验证。

——————具体的代码网上都有,大家可以down一份,下面我主要说一说cognos connection端的配置。

第一:确保已经实现了下面的效果。

自定义用户名称空间下面角色显示正常--

接下来看开发系统管理员下面的用户--

OK,看到上面的就知道用户显示正常哦,接下来--接下来很重要了哦。

添加一名系统管理员--将自定义名称空间中的一个管理员角色或者用户添加到cognos自带命名空间里面的系统管理员中,然后删除cognos自带命名空间里面的系统管理员中的任何人,这样比如刚才添加的是wxj那么wxj就具有系统管理员的权限了,当然也可以给开发系统管理员这个角色赋上cognos系统管理员的权限,如果有多个开发者,在此角色下面创建开发用户即可。

多个分组以此操作继续....

下面解决一个纠结的问题:

在做上面的操作之前,我提前把cognos自带命名空间里面的系统管理员中的[任何人]角色提前删除了,这样一来我们系统里的用户都没有了管理员的权限,但是--但是这与不是惨了么,管理员不能没有的,自己都没了权限还如何管理用户,上网看求助,看到有的人干脆说重装cognos,在这里提醒cognoschina里面的大哥们这种话要注意。如果不是哥淡定,真的就卸载重新装了。这个时候只需要恢复cognos命名空间里面的管理员下面的任何人权限即可,然后再重新操作上面的用户权限设置。恢复【任何人】权限代码在安装目录下面:D:\..cognos\c8\configuration\schemas\content,目录里面有多种数据库官方提供的参考代码,如下图

由于我的是oracle做的内容库,用户表也放在内容库下面,点开oracle找到AddSysAdminMember.sql去cognos content数据库 执行即可,ok重新登录你就发现你的用户权限OK了,需要注意的是,由于这个不是通过Cognos修改的,所以需要重启Cognos服务才能生效

PS:sql 是类似于 insert into  A  select  a,b,c ,d from B

检查数据库如果无此数据,则需要手工先执行处次查询结果,手工编辑数据库中A表数据即可 

如下图

PS:在后来的道路上,本人也屡试此方法,需要特别指出的一点是Cognos对IE的支持比较好,360浏览器本人遇到过如何按照上面的配置都出不来IBM Cognos Administration菜单的情况,最后回到最初的配置,还是不行,才发现是浏览器的问题,切记切记浏览器的兼容性问题.如果按照上述方法执行多次还是恢复不了

匿名用户的管理员权限,那就要切换一下浏览器试试看了,推荐IE8版本的.

再比如上面的语句执行了多次,出现的情况是如下图

在Cognos用户空间下的系统管理员角色中存在多个任何人,在下面设置我们自己管理员用户权限的时候,将这里的任何人删除就可以了,只保留我们自己定义的管理员角色,实现我们用户库相关的关系展现,如下图用户king属于自定义用户空间中管理员角色的一员

在cognos开发的路上,我一直都是位学习者,希望和大家一起学习,共同进步!

 

posted on 2013-02-27 20:17  kingstudy  阅读(8889)  评论(5编辑  收藏  举报