[BAM, ADF] Passing credentials from ADF to BAM

このエントリではADFとBAMをまたがってcredentialを共有する方法をご紹介します。
認証済みユーザがADFアプリケーションにログインすると、BAMサーバのこのユーザ向けの画面が現れるという例です。

サンプル
  • BAMSanityS.zip をダウンロードしてください。
  • このサンプルは簡単なセキュアADFアプリケーションです。このアプリケーションで使っているEmpTable.jspxは、BAMデータオブジェクト"Employees"から作成されています。
セキュリティの設定
  • ユーザ: test1とtest2(パスワードはどちらもweblogic1)
  • ADFセキュリティ設定:test1、test2ともEmpTable.jspxへのアクセスが許可されています。現在BAMデータオブジェクトにはセキュリティ設定を施していませんので、test1/weblogic1もしくはtest2/weblogic1でEmpTable.jspxを実行した場合、ページはBAMサーバのEmployeesデータオブジェクト中のデータを表示するはずです。
BAMサーバのセキュリティ定義
  • ユーザtest1とtest2をBAMグループ"BAMReportsArchitect"に割り当てます。
  • BAMグループはデフォルトではWebLogic Server上に定義されえていませんので、作成する必要があります。
  • BAM Architectに管理者としてログインし、Employeesデータオブジェクトの定義に移動します。
  • このデータオブジェクトをセキュアにします。[パーミッション]>[パーミッションの編集]と辿り、test1に許可を与えて、test2からは許可を剥奪します。test1にのみEmployeesデータオブジェクトのアクセスが許可されていることを確認してください。
セキュリティの伝播を設定する
  • JDeveloperでアプリケーションを開きます。
  • 「データ・コントロール」パネルで、”Employees”を右クリックします。
  • 「BAMデータコントロールの編集 - step 1/ 5」で「ADF資格証明を使用してBAMと接続」を選択します。

実行してみる
  • EmpTable.jspxをデプロイ、実行します。すると認証の画面が現れます。
  • test/weblogic1を入力すると、認証が通って、BAMサーバ中のEmployeesデータオブジェクト中のデータで作成した表が表示されます。
  • 同じページをtest2/weblogic1で再実行してみましょう。すると認証は通りますが、Employeesデータオブジェクトのアクセス権がないために、認証エラーとなってしまいます。

原文はこちら。
http://blogs.oracle.com/monaadfsoa/2011/04/passing_sharing_credentials_accross_adf_and_bam.html

0 件のコメント:

コメントを投稿