LoginSignup
0
1

More than 5 years have passed since last update.

Cognos SSO認証でCookieを使用するサンプル

Posted at

概要

Cognos BI&AnalyticsでのSSO認証と言えば、基本的にHTTP HeaderのREMOTE_USERなどの変数にユーザーIDを仕込み、LDAPネームスペースの外部IDマッピングで受け取る方法だと思います。
しかしながら環境によっては、Cookieの中にユーザーID情報を含めるので、これでCognosのSSO認証をやって欲しいという要件が出てくる事があります。認証ソースはLDAPです。

このような場合に、再利用しやすいカスタム認証プロバイダーのサンプルがCognos SDKで提供されているのですが、ご存知無い方も多いので、紹介しておきます。
関係ない方もちらっと読んでおいて頂いて、「Cookieで認証」という場面に遭遇したら、是非この記事を思い出してください。

実装方法

Cognos SDKを導入すると、以下のフォルダにTrustedSignonSampleという、カスタム認証のサンプルが導入されます。
C:\Program Files\IBM\cognos\c10_64\sdk\java\AuthenticationProvider\TrustedSignonSample

中身はこんな構成です。
赤枠の「TrustedSignonSample.java」がカスタマイズの範囲です。
002.PNG

前提として、LDAPの認証を行うためのネームスペースがCognos Configurationで構成されていて、外部IDマッピングが指定されている事が必要です。
003.PNG

「TrustedSignonSample.java」を開きます。
先のCognosConfigurationのLDAPのネームスペースの内容に合わせて、赤枠のsetNamespaceID、TrustedEnvVarを変更します。
また、getCookieValueにCookieの名称を指定します。
004.PNG

同フォルダのbuild.batを実行すると、CAM_AAA_TrustedSignonSample.jar が作成されるので、<CognosInstallPath>/webapps/p2pd/WEB-INF/lib にコピーします。

カスタム認証のネームスペースを、以下のように作成します。
Javaクラス名は、TrustedSignonSample となります。
※Cognos Configurationを立ち上げるのは、Jarファイルをコピーした後になります。
005.PNG

ゲートウェイ・ネームスペースにカスタム認証のネームスペースを指定します。
006.PNG

Cognos Configurationで、Cognosサービスを再起動します。

以上ですが、以下の「SetCookie.htm」はテスト用のサンプルとして使えます。
007.PNG

Cookie名称と値(ユーザーID)を指定して、/webcontent に配置してください。
008.PNG

http://<hostname>/ibmcognos/setCookie.htm でアクセスして、Cookieを飛ばしてみて、CognosにSSOできるかテストを行う事ができます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1