登录失败是因为cognos有多种登录认证
1.java认证,需要自己建立一些数据库表
0.环境
• 操作系统:windows 2008R2 X64
• cognos版本:cognos10.2 X64
• 数据库:oracle 11gR2
操作过程
1.拷贝JdbcSample.jar、proxool-0.9.0RC3.jar、ojdbc5.jar(oracle相应的jdbc)到C:\Program Files\ibm\cognos\c10_64\webapps\p2pd\WEB-INF\lib文件夹
注意CAM_AAA_CustomIF该文件已经在
2.修改ora2ConnectPool.properties文件的以下三行,并将该文件copy到C:\Program Files\ibm\cognos\c10_64\configuration文件夹下
jdbc-0.proxool.driver-url=jdbc:oracle:thin:@数据库IP:数据库端口:数据库服务名
jdbc-0.user=用户名
jdbc-0.password=密码
3.登录oracle数据库,执行下列sql,建立Cognos权限认证库
--建表SQL
drop table COGNOS_GROUP;
drop table COGNOS_GROUP_MEMBER;
drop table COGNOS_USERS;
drop table COGNOS_USER_FOLDERS;
--用户组
CREATE TABLE COGNOS_GROUP
(
USER_CLASS_ID VARCHAR2(20 ) NOT NULL,
USER_CLASS_NAME VARCHAR2(50 ),
PARENT_USER_CLASS_ID VARCHAR2(20 )
);
ALTER TABLE COGNOS_GROUP ADD (
CONSTRAINT COGNOS_GROUP_PK
PRIMARY KEY (USER_CLASS_ID));
--用户组与用户对应关系表
CREATE TABLE COGNOS_GROUP_MEMBER
(
USER_CLASS_ID VARCHAR(20) NOT NULL,
USER_ID VARCHAR(20) NOT NULL
);
--用户表
CREATE TABLE COGNOS_USERS
(
USER_ID VARCHAR2(20 ) NOT NULL,
USER_NAME VARCHAR2(50 ),
USER_PASS VARCHAR2(50 ),
USER_FOLDER_ID VARCHAR2(20 )
);
ALTER TABLE COGNOS_USERS ADD (
CONSTRAINT COGNOS_USERS_PK
PRIMARY KEY (USER_ID));
--用户文件夹
CREATE TABLE COGNOS_USER_FOLDERS
(
USER_FOLDER_ID VARCHAR2(20 ) NOT NULL,
USER_FOLDER_NAME VARCHAR2(50 ),
PARENT_USER_FOLDER_ID VARCHAR(20)
);
ALTER TABLE COGNOS_USER_FOLDERS ADD (
CONSTRAINT COGNOS_USER_FOLDERS_PK
PRIMARY KEY (USER_FOLDER_ID));
示例:
--用户的id和用户组的id不能重复
insert into COGNOS_USERS values('admin','管理员','000000','Root User Folders');
insert into COGNOS_USERS values(' 00000000','1Group00000000','000000','ZGS');
insert into COGNOS_USERS values(' 11000000,'Group11000000','000000','ZGS');
insert into COGNOS_GROUP values('Root User Class','管理员',null);
insert into COGNOS_GROUP values(' 00000000','总公司', 'Root User Folders');
insert into COGNOS_GROUP values(' 11000000','北京', '00000000');
insert into COGNOS_GROUP_MEMBER values(' Root User Class ','admin');
insert into COGNOS_GROUP_MEMBER values(' 00000000 ','00000000');
insert into COGNOS_GROUP_MEMBER values(' 11000000 ','11000000');
insert into COGNOS_USER_FOLDERS values(' Root User Folders ','管理员',null);
insert into COGNOS_USER_FOLDERS values(' ZGS ','总公司', ' Root User Folders ');
commit;
4.打开Cognos configuration,新建身份认证, 输入以下信息
配置
configure the Custom Java namespace
Type: Custom Java provider
Namespace ID: dbAuth
Java class name: auth.ora2.JDBCSample (oracle的情况)
5.关闭匿名访问
将原先默认认证cognos中匿名访问关闭
6.重启cognos服务
7.打开cognos登录即可
收起