本文引自:http://www.cognoschina.net/club/thread-34531-1-1.html
感谢原创无私奉献!
用户访问的SQL SERVER 2000的库,在CONGOS8.4和COGNOS 10.1上都调试通过,可以登录进去。这2天断断续续就这事了,其实CONGOS提供的SDK说的很明白,在调试过程中走了点小弯路,不是驱动没弄对,就是JAR文件没弄对,最后总算可以了,把详细过程记录下来,跟大家分析,少走弯路。
SDK中的原始文件
Cognos的SDK中包括了第三方认证custom java provider的源代码实例,可以直接那过来调试和改造,不过是针对SQL SERVER数据库的,SDK中的路径地址如下:
bisdk_mp_win32_10.1.1_ml.tar.gz\.\zipfiles\win32\camaaasdk-win32-app-10.1.6235.602-inst.tar.gz\sdk\java\AuthenticationProvider
解压后目录内容如下图:
生
成JAVA认证JAR包
参见readme.txt的说明进行操作
进入文件目录
AuthenticationProvider\JDBCSample
在CMD命令提示符下设定JDK的路径
为了保证JAR包的生成,需要根据自己机器上JDK的安装路径,设定JAVA的环境变量,执行如下:
G:\AuthenticationProvider\JDBCSample>set path=%path%;C:\Program Files\Java\jdk1.5.0_04\bin
运行build.bat批出来,生成需要的JAR包
执行完命令目录会多了一下.class文件及一个CAM_AAA_JDBCSample.jar文件,生成结果如下:
编写配置文件JDBC_Config_Sample1.properties
用文本编辑器打开该文件,主要编辑下面2行:
server=localhost:1433
databaseName=JDBCSample
说明如下:
Server为要连接的SQL SERVER服务器的地址及端口;
databaseName为要连接的数据库
文件的名字中【Sample1】,跟后面在Cognos的Configuration中的配置的写法要一致。
准备数据库访问驱动
因为要访问的是SQL server 的数据库,驱动如下:sqljdbc.jar;
相关文件COPY到COGNOS目录数据库驱动文件
把sqljdbc.jar 复制到c10BiServer安装目录\webapps\p2pd\WEB-INF\lib下;
第三方认证JAR包文件
把在上一步生产的JAR文件(CAM_AAA_JDBCSample.jar)复制到c10BiServer安装目录\webapps\p2pd\WEB-INF\lib下;
数据库配置文件
把JDBC_Config_Sample1.properties复制到c10BiServer安装目录\configuration下;
配置COGNOS禁止匿名访问
进入COGNOS 的Configuration,把运行匿名方式访问禁止,如下图:
新建名称空间
在【身份验证】节点右键新建【命名空间:dbAuth】,选择【自定义JAVA 提供程序】如下图:
配置【名称空间】
如下图:
注意:
名称空间ID【Sample1】跟前面提到的JDBC_Config_Sample1.properties文件是一致的。
测试、保存、启动COGNOS
设定完后,测试没问题就可以启动Cognos了。
访问COGNOS的WEB SERVER进行验证Cognos 8.4出现的登录界面
如下图:
Cognos 10.1出现的登录界面
如下图:
输入用户名和密码登录
这个SDK的包里,直接使用的SQL SERVER的系统用户进行验证的,可以直接输入sa用户及密码,安装前面的配置没问题就直接看到COGNOS的首页面;
用户的访问
可以看到,展示的都是SQL SERVER的系统角色,如下图:
整个过程配置完成,COGNOS可以使用第三方的JAVA程序进行用户层面的登录
扩展应用
上面的应用只是实现的最基本的登录验证模式,在实际使用中肯定不这样使用,就需要改造代码,让用户的登录验证使用应用系统自带的用户和密码,代码的改造也很简单。
其他数据库的访问方式
要改造上面的代码,配置相应数据库的驱动和配置信息,在调整一下代码就可以。