CookBook

データ参照表示時のページへのアクセス権を認可で制御する方法

投稿日:2021-11-25 更新日:

この CookBook では、ViewCreator の「データ参照」表示時のアクセス権を認可で制御する方法について紹介しています。

データ参照の参照権では、その定義を利用してデータを見ることができるかどうかを設定可能ですが、データ参照表示画面のURLに対する制御ではありません。
参考: ViewCreator 管理者操作ガイド - 参照権の設定

そのため、たとえばデータ参照のURLをサイトマップに登録して利用しようとしたとき、参照権を持たないユーザがサイトマップを表示した場合であってもサイトマップにリンクが表示されてしまいます。
※リンクを押下するとエラー画面に遷移します。

この CookBook では、個々のデータ参照(リスト集計またはサマリ集計)表示画面の新しいURL1つに対して認可リソースを1つ作成することで、そのような問題に対処する方法をご紹介します。

レシピ

  1. ルーティング定義の作成
  2. 認可リソースの作成とアクセス権の設定
  3. サイトマップへの登録

ルーティング定義の作成

IM-Juggling のプロジェクト配下に conf/routing-jssp-config/im_cookbook_196411_viewcreator.xml を以下の内容で作成します。

参考: セットアップガイド - IM-Juggling とは
参考: 設定ファイルリファレンス - スクリプト開発モデルルーティング設定

war ファイルの作成とデプロイ

下記ガイドの手順に従って WARファイルを作成(出力)してください。
セットアップガイド - WARファイルの出力

下記ガイドの手順に従って WARファイルをデプロイしてください。
セットアップガイド - デプロイ

認可リソースの作成とアクセス権の設定

認可リソースの作成

テナント管理者でログインして認可設定画面を開き、下記ガイドの手順に従って認可リソースを追加してください。
テナント管理者操作ガイド - リソースを追加する

※データ参照定義1つに対して認可リソースを1つ作成するため、適宜リソースグループを作成して管理しやすいようにしてください。

「リソースURI」を im_cookbook_196411_viewcreator.xml の authz タグの uri の設定に従って「service://im_cookbook/196411/viewcreator/dataview/%データ参照コード%」としてください。
%データ参照コード% の部分は認可制御を行いたいデータ参照定義のデータ参照コードに置き換えてください。
例) service://im_cookbook/196411/viewcreator/dataview/5i7urzmesvqqip4

データ参照コードについては、下記ドキュメントを参照してください。
ViewCreator 管理者操作ガイド - リスト集計の作成

アクセス権の設定

作成した認可リソースに対してアクセス権を設定します。
ここでは例として、認証済みユーザに対して許可を行います。

注意点として、データ参照編集画面の「参照権」も認可の設定と同じになるように合わせておく必要があります。
ここでは、認可リソースを認証済みユーザに対して許可したため、参照権も同様に認証済みユーザに対して許可します。

参照を許可されたユーザ(認証済みユーザ)が %コンテキストパス%/im_cookbook/196411/viewcreator/dataview/new_list/5i7urzmesvqqip4 にブラウザからアクセスすると、データ参照コードが 5i7urzmesvqqip4 の集計画面を表示できます。
例) http://example.com/imart/im_cookbook/196411/viewcreator/dataview/new_list/5i7urzmesvqqip4

サイトマップへの登録

最後に、アクセス可能になったURLをサイトマップに登録します。

登録手順の詳細は下記ドキュメントを参照してください。
テナント管理者操作ガイド - メニューを設定する

作成したデータ参照の認可リソースが許可されている場合はサイトマップにメニューアイテムが表示されます。

リンクを押下すると、新しく定義したURLでデータ参照が表示されます。

許可されていない場合は、サイトマップでメニューアイテムが表示されていないことを確認できます。

他のデータ参照についても同様に認可制御を行いたい場合は、「認可リソースの作成とアクセス権の設定」の操作を繰り返します。
ルーティング定義の作成(修正)は不要です。

クロス集計やグラフ集計のデータ参照を認可制御したい場合

クロス集計やグラフ集計のデータ参照を認可制御したい場合は、ルーティング定義を以下のように設定してください。

-CookBook
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ジョブを作成して定期実行する

このCookBookでは、以下の開発モデルでジョブを作成する方法と、作成したジョブを指定した時刻に定期実行する方法を紹介します。 ・スクリプト開発モデル ・JavaEE開発モデル いずれのモデルでもジ …

no image

request.log を Kibana で可視化する方法

この CookBook では、request.log を Kibana で可視化する方法について紹介しています。 方法は色々ありますが、この CookBook では Logstash と logsta …

差戻し先ノードの処理対象者を再展開するフローを作成する方法

このCookBookでは、差戻し先ノードの処理対象者を再展開するフローを作成する方法について紹介しています。 IM-Workflowの仕様として、差戻し先ノードではそのノードを以前に処理した人のみが再 …

BloomMakerで動的承認ノードを利用したWorkflowコンテンツを作成する

このCookBookでは、BloomMakerで、動的承認ノードを利用したWorkflowのコンテンツを作成する方法を紹介します。 本稿では、BloomMakerとLogicDesignerでWork …

BloomMakerとLogicDesignerでWorkflowコンテンツを作成する

このCookBookでは、BloomMakerとLogicDesignerを利用してWorkflowのコンテンツを作成する方法を紹介します。 2019 Winter(8.0.24)で、以下の機能をリリ …