一.取消匿名访问
解压附件出现如下内容,下面将根据这个内容取消匿名访问
1.数据库驱动
Sqlserver、db2和oracle所对应的的驱动分别为sqljdbc4.jar、db2jcc.jar、ojdbc14.jar。
根据数据库的类型选择相应驱动,并将驱动拷贝到Cognos_Home\webapps\p2pd\WEB-INF\lib下面。
2.配置文件
将数据库配置文件JDBC_Config_Sample1.properties拷贝到Cognos_Home\configuration下面,并根据所选数据库进行相应的修改。
2.1 Sqlserver
#For Microsoft SQL Server connections
connectionString=jdbc:JSQLConnect://localhost:1433/sdk/applicationName=IBM_C8_CM
driverClass=com.jnetdirect.jsql.JSQLDriver
username=sa
password=apple
singleSignon=false
将红色部分根据实际数据库的IP、端口号、数据库标识、用户名和密码进行修改。
2.2db2
# For DB2 connections
connectionString=jdbc:db2://localhost:50000/COGNOS:retrieveMessagesFromServerOnGetMessage=true;fullyMaterializeLobData=false;
driverClass=com.ibm.db2.jcc.DB2Driver
username=cognos
password=cognos
singleSignon=false
将红色部分根据实际数据库的IP、端口号、数据库标识、用户名和密码进行修改。
2.3oracle
# For oracle connections
connectionString=jdbc:oracle:thin:@localhost:1521:cognos
driverClass=oracle.jdbc.driver.OracleDriver
username=cognos
password=cognos
singleSignon=false
将红色部分根据实际数据库的IP、端口号、数据库标识、用户名和密码进行修改。
我的用的oracle的直接把里面多余的删除了
3、Java Provider Jar文件
将CAM_AAA_JDBCSample.jar拷贝到Cognos_Home\webapps\p2pd\WEB-INF\lib下面
4、创建表
打开附件的数据库脚本,进行如下对应操作。
使用脚本dbInit_sqlserver.sql创建sqlserver数据库的表和视图;
使用脚本dbInit_db2.sql创建db2数据库的表和视图;
使用脚本dbInit_oracle.sql创建oracle数据库的表和视图。
5、插入数据
在用户表users和分组表groups中分别插入用户和分组数据。
对于users表:字段USERID,USERNAME,PASSWORD,LOCALE,TENANT为必填项,其中locale根据需要填写相应值,中文为zh-cn,英文为en;因为不考虑多租户的情况,所以对于所有用户的tenant赋予一个统一值,并且users和groups两个表中的tenant的值要一样,对于字段FULLNAME,EMAIL可以为空。
对于groups表:字段GROUPID,GROUPNAME,USERID,TENANT都不能为空,tenant的值要与users表中的tenant值一致。
其实这个组 设置的作用不大,我测试的分组还是不行,希望能在这个界面,把用户按照组划分的小伙伴告诉我说一下
6、配置cognos configuration
打开cognos configuration,选中“身份验证”点击右键选择“新建资源->名称空间”,然后配置相应内容,如下图所示:
再把身份验证cognos匿名访问设置成如下界面
重启cognos服务器,重新登录即可看到设置的名称空间Sample1,如下图所示:
输入admin账号和密码
现在每个人都是系统管理员,接下来我们就需要配置一个管理员账号
二.配置系统管理员及人员分组
点击启动 IBM cognos administration ‑‑‑‑ 点击’安全’
有如下两个名称空间
接下来我们点击cognos,选择系统管理员,点击更多
点击更多后选择设置成员,如下图
点击添加
选择sample1
点击显示所有列表中的用户把admin添加进去
然后再把任何人删除,这样张三、李四、小明就没有管理员权限了
上面我们提到过分组没有用,如果人数比较多,我们想分组管理,这时候我们可以在cognos这个名称空间下,如把张三分到销售组,李四和小明分到财务组
操作如下
在安全下点击cognos
点击新建组
取名称销售组
点击添加成员
选中sample1下面的张三添加进去
按照同样的方法把李四和小明添加到财务组
三.cube的权限管理
通过Transformer添加权限,过程如下图所示:
在Custom View窗口右键,然后选择Categories
点击“Custom Views”,然后右键,弹出的菜单选择“Create Custom View”
输入名称如 销售组,点击assign security
弹出的窗口输入用户名和密码
选择cognos
选择里面的销售组
如下操作
如果张三只能查看险类车险的记录,那么我们就要基于险类这个维度定义Custom View
点击险类
按Shit键,选择除“车险”以外的险类,然后选择Exclude
对于销售这个组,如果我们不想让他看到‘立案件数这个度量’,就把这个沟去掉,如下图
同样按照这个方法我们可以把管理员组(一定要添加,不然发布包的时候通不过去),财务组(李四和小明)的权限添加上去
假如财务组除了车险其他都能看到,度量不能看未决件数
管理员当然什么都能看到了
如下图所示
现在生成cube 并发布上去,就可以验证下两个组的权限了
销售组张三账号登录,如下图
财务组李四登录如下图
说明我们的权限设置成功。
四.数据包的权限管理
用管理员账号登录管理数据包
选择设置属性
点击权限,我们把这些都除去
如果这个数据包任何人都能看,但是不能删除,你就选择cognos下面的任何人,给权限如下
如果这个数据包,你只想让某个组或某个人看,假如只能由销售组看,但是不能删除,你就操作如下图
谢谢