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では、2021 Spring でリリースした「外部リソース埋め込みコンテナ」エレメントの利用方法について説明していきます。 「外部リソース埋め込みコンテナ」エレメントはファイルのド …

IM-BloomMaker フォーム部品(Bulma)のフィールド、水平フィールドの利用方法

この CookBook では、intra-mart Accel Platform 2020 Summer から利用可能になった Bulma コンテンツのフォーム部品(Bulma)のフィールド、水平フィ …

ファイルアップロード登録LDタスクの使い方

このCookBookでは、IM-LogicDesigner でのIM-BISのファイルアップロード登録LDタスクの使い方について紹介しています。 このタスクは、以下の使い方をすることができます。 単独 …

no image

Web API Maker を利用した API の作成方法

この CookBook では、Web API Maker を利用した API の作成方法 について紹介しています。 Web API Maker を利用したプログラミングは intra-mart Acc …

no image

IM-BloomMaker 複数行明細テーブルのような見た目を実現する方法

この CookBook では複数行明細テーブルのような見た目を実現する方法を紹介します。今回紹介するのはテーブルではないエレメントである「ボックス(繰り返し)」と「フレックスコンテナ」を組み合わせて、 …