同じグループのメンバーが作成したコンテンツのみ表示・編集を可能にする
概要
コンテンツ定義の編集権限設定で閲覧・編集可能なグループを制限することができますが、 「自分と同じグループ」のような動的な設定の場合はトリガーを使ったカスタム処理で実装します。
本チュートリアルではコンテンツの表示(管理画面)のトリガーを使用して、同じグループのメンバーが作成したコンテンツのみ表示・編集が可能となる制限をコンテンツ定義に設定します。
学べること
以下の手順で、同じグループのメンバーが作成したコンテンツのみ表示・編集が可能となる制限を設定します。
カスタム処理を設定する
[オペレーション] -> [カスタム処理]をクリックします。
[追加]をクリックします。
以下のカスタム処理を設定します。
項目 | 値 |
---|---|
タイトル | fiter_members_of_the_same_group |
識別子 | fiter_members_of_the_same_group |
トリガ | コンテンツの表示(管理画面)/対象のコンテンツ定義IDを指定 |
処理 | 以下の内容 |
loading...
入力ができたら[追加する]をクリックしてカスタム処理を追加します。
動作を確認する
動作の確認をするため、検証用のメンバーとグループを以下のように準備します。
メンバー | グループ |
---|---|
Diverta Hanako | Tester |
Diverta Jiro | Editor |
Diverta Taro | Editor |
次に、それぞれのメンバーでログインをして、コンテンツを1つずつ作成します。
コンテンツの表示(管理画面)のトリガーは「スーパーユーザー」以外でログインしている場合に実行されるため、スーパーユーザーからは全てのコンテンツが確認できます。
最後にそれぞれのメンバーでログインをして、一覧に表示されるコンテンツを確認します。
同じグループのメンバーが作成したコンテンツだけが表示されることが分かります。
Diverta Hanakoでログイン
Diverta Jiroでログイン
Diverta Taroでログイン
上記のサンプルコードの場合、
- Aさんは、
幹部
グループと社内釣り愛好会
グループに所属 - Bさんは、
平社員
グループと社内釣り愛好会
グループに所属 - Aさんが
トップシークレット文書
を作成する
とすると、Bさんは トップシークレット文書
を編集可能になります。
1人のメンバーは1グループのみに所属する運用にする。カスタム処理内に例外の処理を追加する。などプロジェクトに合わせて調整してください。
さらに、コンテンツのバリデーション前のトリガーを追加することで、同じグループのメンバーが作成したコンテンツだけ表示されるが、編集はできないといった実装も可能です。
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。