Cognos之SDK开发--第三方认证custom java provider配置方法

本文引自: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

 

解压后目录内容如下图:

SDK源文件目录.png

下载 (23.94 KB)
2013-4-24 01:37

 

 

生
成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文件,生成结果如下:

生成JAR包的文件目录.png

下载 (33.31 KB)
2013-4-24 01:37

 

 

编写配置文件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,把运行匿名方式访问禁止,如下图:

 

设定禁止匿名访问.png

下载 (23.52 KB)
2013-4-24 01:37

新建名称空间

在【身份验证】节点右键新建【命名空间:dbAuth】,选择【自定义JAVA 提供程序】如下图:

 

新建命名空间.png

下载 (24.49 KB)
2013-4-24 01:37

配置【名称空间】

如下图:

第三方认证设定.png

下载 (26.31 KB)
2013-4-24 01:37

 

 

注意:

名称空间ID【Sample1】跟前面提到的JDBC_Config_Sample1.properties文件是一致的。

 

测试、保存、启动COGNOS

设定完后,测试没问题就可以启动Cognos了。

 

访问COGNOS的WEB SERVER进行验证Cognos 8.4出现的登录界面

如下图:

Cognos8.4的登录页面.png

下载 (6.22 KB)
2013-4-24 01:37

 

 

Cognos 10.1出现的登录界面

如下图:

Cognos10.1的登录页面.png

下载 (39.41 KB)
2013-4-24 01:37

 

 

输入用户名和密码登录

这个SDK的包里,直接使用的SQL SERVER的系统用户进行验证的,可以直接输入sa用户及密码,安装前面的配置没问题就直接看到COGNOS的首页面;

 

用户的访问

可以看到,展示的都是SQL SERVER的系统角色,如下图:

 

登录成功后用户管理界面.png

下载 (29.38 KB)
2013-4-24 01:37

 

整个过程配置完成,COGNOS可以使用第三方的JAVA程序进行用户层面的登录

 

扩展应用

上面的应用只是实现的最基本的登录验证模式,在实际使用中肯定不这样使用,就需要改造代码,让用户的登录验证使用应用系统自带的用户和密码,代码的改造也很简单。

 

其他数据库的访问方式

要改造上面的代码,配置相应数据库的驱动和配置信息,在调整一下代码就可以。

调用Cognos sdk接口生成报表 java调用SDK提供的接口实现生成报表静态文件至本机(html,excel格式)的一个demo /** * 连接cognos服务器 */ public class CognosServerConnectAL { /** * cognos内容库服务Locater对 阅读详情

相关推荐

IBM Cognos Software Development Kit介绍

IBM Cognos Software Development Kit介绍 作者:胡帅 1.摘要 IBM Cognos是一款功能强大的商业智能工具。随着Cognos 在各个行业中被广泛使用,众多企业都开始在Cognos之上进行二次开发,将Cognos

RationalGroup的专栏 8142

Cognos11中关于CJAP第三方认证的相关配置

cognos11同样适用于自定义java程序的第三方认证,而且在测试方面给了直观的测试接口,如下图所示 当用户配置好了自定义java程序的认证之后,程序会提示用户输入我们自己的认证库用户信息例如admin 123456,通过认证以后,测显示如下 启动服务可以在启动详情里面看到启动的过程中已经创建了新的命名空间 说明第三方认证功能第一步已经配置OK了,是否成功还要接下来去cogno...

weixin_34096182的博客 346

Cognos SDK的java实现,包含很多宝贵的例子

Cognos SDK的java实现,包含很多宝贵的例子, 包括报表的创建,移植,MetaData的获取等.

cognos java_CognosSDK Java登陆到Cognos

cognos提供SDK,让开发者通过程序调用cognos上的一些实现,任何调用,首先是从程序登录cognos开始,下面是一个具体的例子,同时解决在weblogic上代码调用报异常的问题(登录cognos只使用了一个jar包文件---axisCrnpClient.jar)。具体代码示例如下:package com.resoft.navigate.util;//Cognos Sdk调用包//axisC...

weixin_29296241的博客 499

Cognos SDK 开发指南

Cognos SDK 开发指南 这个文本介绍了 Cognos 8 功能组件,并主要功能及开发指引。 Cognos 8 的功能组件 Cognos 8 的功能组件分为服务器端和客户端两部分,服务器端是基于SOA构架的Cognos 8服务,以Web Service的方式接受和处理用户请求;客户端程序是开发人员使用,用于构建CUBE和Cognos 8元数据的工具,它们分别是:TransFormer 和 FrameWork。用户制作、浏览报表和业务分析都是基于浏览器的,不需要安装插件或客户端,在浏览器端,用户可以访问以下组件:Report Studio 、 Query Studio 、 Analysis Studio。同时用户也可以基于Cognos提供的SDK开发应用直接访问Cognos 8 服务。

cognos sdk.zip

cognos 集成java 进行登录 导出 等操作SDK 相关jar包 。

cognos java_Cognos第三方用户认证(CustomJavaProvider)

关于Cognos第三方用户认证(CustomJavaProvider)的demo网上的例子很多,当然最权威的你可以从Cognos安装的SDK中去探索,本文不详细的说明代码,主要说一下认证的处理过程,以及处理过程中遇到的问题;Step1:创建Cognos用户安全库表的创建脚本:CREATE TABLE [dbo].[PT_User_Role]([ID] [int] IDENTITY(1,1) NOT...

weixin_39950057的博客 265

ibm cognos 第三方java认证操作详解

图文介绍ibm cognos配置java第三方认证程序,包含操作步骤和相应数据库的表结构和说明,该方法屡试不爽,曾在多个大型企业的cognos项目中使用。

CognosSDK Java登陆到Cognos

cognos提供SDK,让开发者通过程序调用cognos上的一些实现,任何调用,首先是从程序登录cognos开始,下面是一个具体的例子,同时解决在weblogic上代码调用报异常的问题(登录cognos只使用了一个jar包文件---axisCrnpClient.jar)。具体代码

TechChan的专栏 7635

Cognos SDK(权限开发小例子)

用户角色权限 这部分主要可以实现 1. 第三方认证 2. 新建角色; 新建组织; 给角色添加用户、组织、角色; 给组织添加用户、组织; 读取当前角色(组织)已有的成员,给成员设置读写遍历等权限 3. 给Foler,package,rs,as,qs报表设置权限,比如山东小麦专家和山东大豆专家看到不同的文件夹报表等; 这块和Cognos在页面上设置权限的功能一样;不过是通过SDK自己包装了,为了给大家有个直观的产品集成的概念J2EE架构+Cognos8.4环境下做了一个小功能demo,后面有效果图简单展示;

简单搭建 可视化日志+链路追踪

JAVA 可视化日志、链路追踪、plumeLog、Tlog、Logback

qq_39535439的博客 1206

COGNOS10的Eclipse远程调试

COGNOS10的Eclipse远程调试       我们有时候需要针对cognos做一些二次开发,开发过程那么就当然需要调试。下面是关于调试的具体方法:   1. 在eclipse中创建项目,写好代码,编译。   2. 编译完成后,右键选择工程,导出为jar文件。   3. 将导出的jar文件复制到cognos_install\webapps\p2pd\WEB-INF\lib下(

csh602583095的专栏 2200

正交试验minitab

1.创建正交试验 2.根据自己的实验选择水平数和因子数,并选定一个正交表 3.得到正交表 4.填写实验结果 5.进行正交分析 点击结果,点击分析 6.得到分析结果 7.方差分析 选择响应变量与因子,点击确定 得到方差分析的结果 ...

a999999123的博客 1万+

Cognos 10的优点

1培训所学总结;1.1Cognos10的特点;Cognos以往版本的产品有Cognos8BI,;?更人性化的思维方式;Congnos10提供革命性的用户体验,支持人的;?全新的BIWorkspace:;消除以前的人工软件障碍,用户不再需要在不同界面之;用户可以随意从任何来源搜索任何容量的商业智能内容;支持从浏览到调查、从洞察到行动的自然路线;?更广阔的联接; 1 培训所学总结 1.1

maitianhust的专栏 1311

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

UG\NX二次开发 分割曲线

分割曲线没有ufun函数?那就换一种思路实现。

王牌飞行员_里海的博客 1149

cognos java用户权限_Cognos第三方用户认证(CustomJavaProvider)

关于Cognos第三方用户认证(CustomJavaProvider)的demo网上的例子很多,当然最权威的你可以从Cognos安装的SDK中去探索,本文不详细的说明代码,主要说一下认证的处理过程,以及处理过程中遇到的问题;Step1:创建Cognos用户安全库表的创建脚本:CREATE TABLE [dbo].[PT_User_Role]([ID] [int] IDENTITY(1,1) NOT...

weixin_30382147的博客 680

安装并新建windows下wxwroks7.0 bootrom工程

安装licence,将zwrsLicense-vx7-perm.lic粘贴到安装目录C盘WindRiver/license下。现在双击Workbench 4,新建vxworks7.0工程,会出现下面的情况,因为没有licence。编译完成binaries下生成wxwroks x86格式,可以修改bootrom硬件信息的配置了。单击x86_wxwroks工程右键,build project编译工程。双击桌面Workbench 4打开,新建windows下工程。新建完成,选择finish。

wangjie36的博客 1923

IBM Cognos 10.2.0 安装全过程

IBM Cognos 10.2 架构与模式简介 IBM Cognos 商业智能系统拥有一个多层体系架构。大致可以分为三层:Web 服务器层、应用层以及数据层。每个层基于一定的业务功能,并且通常由网络防火墙分隔,而 IBM Cognos BI 用 户接口就在这三层之上。 图 1. 图 1. Cognos 多层架构工作流图   因为 Cognos 完全基于 SOA 架构,所以 IB

zhangqinghao9203的专栏 5829

K8s(二十二):k8s集群如何部署一个Spring Boot项目(依赖于MySQL和Redis外部服务)

🔴 K8s(二十二):k8s集群如何部署一个Spring Boot项目(依赖于MySQL和Redis外部服务)

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2万+

Python爬虫实战:模拟登录知乎 – 通过加密参数和验证码实现自动登录

通过本篇博客的讲解,我们学习了如何通过 POST请求 和 验证码识别,模拟登录知乎并爬取用户信息、问题数据。随着爬虫技术的发展,面对更复杂的反爬虫机制,我们可以不断调整策略,以绕过这些防护,实现数据的自动化抓取。

2201_76125261的博客 731

Cognos权限Custom Java Provider表结构实例

select * from org_user;USER_ID USER_CODE USER_NAME FULL_NAME EMAIL PWD2 889 zhangsan 张三 123@126.com 0000001 888 king 国王 123@126.com 0000003 890 lisi 李四 123@126.com 000000 select * f...

weixin_34247155的博客 230

韩版传奇 2 源码分析与 Unity 重制(一)服务端 TCP 状态管理

该专题将会分析 LOMCN 基于韩版传奇 2,使用 .NET 重写的传奇源码(服务端 + 客户端),分析数据交互、状态管理和客户端渲染等技术,此外笔者还会分享将客户端部分移植到 Unity 和服务端用现代编程语言重写的全过程。本文重点介绍了服务端的启动链路、网络初始化和连接处理这三个过程,并简要分析的游戏循环的实现与数据包处理,在下一篇文章中,我们会从客户端角度分析从游戏启动、登录、游戏开始和基础游戏交互的全流程。

东方猫的博客 2500

Cognos第三方用户认证(CustomJavaProvider)

关于Cognos第三方用户认证(CustomJavaProvider)的demo网上的例子很多,当然最权威的你可以从Cognos安装的SDK中去探索,本文不详细的说明代码,主要说一下认证的处理过程,以及处理过程中遇到的问题; Step1:创建Cognos用户安全库 表的创建脚本: CREATE TABLE [dbo].[PT_User_Role]( [ID] [int] I...

weixin_33862188的博客 597

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

下一篇: cognos与已有JAVA_HOME环境变量冲突
helloPassword
博客等级 码龄19年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值