Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Pleasanter

プリザンターでアクセス制御を行う方法(明細単位)

投稿日:2023年1月4日 更新日:

 

<目次>

プリザンターでアクセス制御を行う方法(明細単位)
 課題
 対策①:サーバスクリプトによる制御
 抽出項目の選定と確認
 サーバスクリプト設定例
 疎通確認
 対策②:サイトのアクセス制御を使う方法
 対策②のテスト

プリザンターでアクセス制御を行う方法(明細単位)

■課題

・プリザンターでワークフローを作る際、自分が「起票者」「承認者」以外の明細も参照できてしまう

・これはセキュリティ観点で良くないため、自分が「起票者」「承認者」の明細のみを表示するよう制御したい

・本記事では、この課題に対する解決策を記載します。
(図111)

目次にもどる

■対策①:サーバスクリプトによる制御

  • サーバスクリプトの「view.Filters」を用いて、「一覧の読み込み時」に自身が「作成者(Creator)」or「承認者(Manager)」のレコードのみを抽出します。
  • サーバスクリプトはその名の通り、サーバ側で動くJavaScriptです。JavaScriptというと、クライアント側(ブラウザ)で動作するイメージがありますが、Pleasanterではサーバサイドの様々なイベント時(例:ビュー処理時など)における処理もJavaScriptで記述する事ができます。

目次にもどる

●① 抽出項目の選定と確認

どの項目で絞るか?を決めます。今回の例では「申請者」と「承認者」で絞ります。
(図121①)


●②「テーブルの管理」→「一覧」で対象項目の表示名(デフォルト値)を確認します。
※この値がJavaScriptで項目を識別する際の変数名になります。

(例)「申請者」はデフォルトでは「作成者」(システム的には「Creator」)である
(図121②)

(例)「承認者」はデフォルトでは「管理者」(システム的には「Manager」)である
(図121③)

目次にもどる

●③ サーバスクリプト設定例

・「テーブルの管理」→「サーバスクリプト」を選択
(図122①)


・下記のサンプルプログラムを適用し、「条件」は「ビュー処理時」を選択し、「変更」を押下
(図122②)

(図122③)

(サンプルプログラム)※システム管理者のIDはご自身の環境に合わせて変更してください。

// *** 自身が起票者or管理者の明細のみ表示 *** //
// システム管理者のIDをセット
let sysUserId = [282762];

// ログインユーザーがシステム管理者でない場合
if (!sysUserId.includes(context.UserId)) {
  // 空のオブジェクトを作成
  let data = {};
  // 作成者(Creator)にユーザーIDを代入
  data.Creator = context.UserId;
  // 管理者(Manager)にユーザーIDを代入
  data.Manager = context.UserId;
  // 作成者or管理者の明細のみを表示するフィルタを適用
  view.Filters.or_MyFilterName = JSON.stringify(data);
}

目次にもどる

●④ 疎通確認

(テスト1)管理者以外
・再度一覧を確認すると、自身が申請者or承認者のもののみが表示されるようになりました。
(図131)


(テスト2)管理者
・[282767] のシステム管理者でログインすると、全ての明細を見る事ができます。
(図132)

(参考)
context(公式マニュアル)
view.Filters(公式マニュアル)
項目のカラム名一覧

目次にもどる

■対策②:サイトのアクセス制御を使う方法

こっちの方がシンプルで簡単かもです。

●① グループを作成
(図211)

●② グループにメンバーを追加
→ 全部の明細を見られる人を指定
(図212)

●③「サイトのアクセス制御」で作成したグループに権限付与

・【対応する側】:全レコードを操作できる権限
(図213)

・【依頼する側】:全ユーザーに起票&更新できる権限(誰でも問合せできる)
(図215)

(図214)

・【依頼する側】:自分が起票したもののみ操作できる
(図216)

目次にもどる

●④ 対策②のテスト

・【対応する側】:全レコードを操作できる事のチェック
(図223)

・【依頼する側】:全ユーザーに起票&更新できる事のチェック
例1
(図221)

例2
(図222)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Pleasanter
-

執筆者:


comment

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

関連記事

PleasanterのAPIの使い方&レコード作成の例をご紹介

  <目次> (1) PleasanterのAPIの使い方&レコード作成の例をご紹介  やりたいこと  (1-0) 概要  (1-1) STEP1:テスト用サイトのインポート  (1-2) …

Pleasanter項目の活性制御のやり方について(スクリプト)

  <目次> (1) Pleasanter項目の活性制御のやり方について(スクリプト)  (1-1) やりたいこと  (1-2) 設定箇所  (1-3) パターン①:ステータスに応じて「静的 …

Pleasanterでcssを設定する方法

  <目次> (1) Pleasanterでcssを設定する方法  やりたいこと  設定箇所  サンプルcssコード  適用結果 (1) Pleasanterでcssを設定する方法 やりたい …

プリザンターとは?使い方をご紹介

<目次> プリザンターとは?使い方をご紹介。  プリザンターの概要  プリザンターのアカウント登録(2ヶ月無料)  プリザンターの使い方 プリザンターとは?使い方をご紹介。 プリザンターの概要 ・ロー …

プリザンター(Pleasanter)でワークフローを試作してみた

  <目次> (1) プリザンター(Pleasanter)でワークフローを試作してみた。  (1-0) 概要  (1-1) STEP1:フロントエンド開発①(画面項目定義)  (1-2) S …

  • English (United States)
  • 日本語
Top