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

IM-BloomMaker コンボボックスエレメントのサジェストにサーバから取得した値を表示する

このCookBookでは、intra-mart Accel Platform 2020 Spring から利用可能になったコンボボックスエレメントのサジェストにサーバから取得した値を表示する方法につい …

no image

スクリプト開発で利用できる close 関数のご紹介

この CookBook では、スクリプト開発で利用できる close 関数について紹介します。 スクリプト開発では作成した js ファイルの中に init と言う名前の関数を定義すると思いますが、この …

no image

No.9 音声認識からスケジュール登録

この記事は、EWS 2017で行われたLogicDesignerの講演内容に関する記事です。 こちらの例では、LogicDesignerと音声認識(Web Speech API)の仕組みを利用して、音 …

他システムのデータベースに接続する方法

このCookBookでは、intra-mart 製品と関係の無いシステム等で利用されているデータベースに intra-mart Accel Platform から接続する方法についてご紹介します。 i …

IM-FormaDesignerにてブラウザのツールバーに任意のタイトルを設定する方法

このCookBookでは、IM-FormaDesignerにてブラウザーのツールバーに任意のタイトルを設定する方法について紹介しています。 設定方法は下記の2パターンです。 「スクリプト」アイテムを使 …