ドキュメント内を移動

MyPermissionData

ログイン中ユーザーに標準権限が設定されているサイトの情報を取得します。

対象製品
MyAdminPack
対象バージョン
v2

概要

MyPermissionDataは、CMSへログインしているユーザーに標準権限が設定されているサイトを調べ、そのサイト情報をMyAdminPackから利用できる形式で返すプラグインです。

新しい権限を作成したり、ユーザーへ権限を付与したりする機能ではありません。記事などの編集可否をMyPermissionDataが独自に制御することもありません。

対象となる権限とデータ

対象は、Movable Type/PowerCMSの標準の権限設定です。ログイン中ユーザーとサイトを結ぶ権限レコードが存在するサイトを取得します。

判定では、投稿、編集、公開、サイト管理などの個別の権限内容を区別しません。対象サイトに何らかの標準権限が設定されていることが取得条件です。

取得結果には、次の情報が含まれます。

  • 権限レコードに関連付けられたサイトのCMS内部のサイト情報
  • そのサイトに保存されているカスタムフィールド値
  • 親サイトごとにまとめられた子サイトの情報

権限レコードそのものや、ロールに含まれる個別の権限一覧は返しません。

権限の設定方法

MyPermissionData専用の権限設定はありません。CMS標準のユーザー、ロール、権限の管理画面で設定します。

  1. CMS標準の権限管理画面を開きます。
  2. 対象ユーザーへ、情報を取得させるサイトのロールまたは権限を割り当てます。
  3. 対象ユーザーでCMSへログインし直します。
  4. MyPermissionDataを利用する管理画面のカスタマイズで、取得結果を確認します。
  • 運用担当者:CMS標準のロール・権限を設定する
  • カスタマイズ担当者:取得処理を呼び出し、結果を利用する
  • 確認方法:権限を持つサイトが取得結果に含まれることを確認する

権限を変更した場合は、CMS標準の権限判定へ反映された後の状態が使用されます。 MyPermissionData側で同期や再構築を行う必要はありません。

権限判定時の動作

MyPermissionDataが登録するCMS側の取得処理は、次の順で動作します。

  1. 現在ログインしているユーザーIDを取得します。
  2. そのユーザーIDを持つ標準の権限レコードに関連付けられたサイトを取得します。
  3. 親サイトの情報を上位に置き、子サイトの情報を親サイトの配下へまとめます。
  4. 取得結果をJSON形式で返します。

この取得処理のCMSメソッド名はget_permission_sitesです。公開サイトで使用するテンプレートタグや外部向けAPIではなく、ログイン中のCMS管理画面から利用するための処理です。

注意事項

  • サイトが取得結果に含まれていても、そのユーザーがすべての操作を行えることを意味しません。実際の操作可否はCMS標準の個別権限で判定されます。
  • 子サイトは親サイトIDの配下へまとめられます。親サイト自身の権限レコードがない場合、親サイトの詳細情報は取得結果へ追加されません。
  • 取得結果にはサイトのカスタムフィールド値が含まれます。管理画面のJavaScriptなどで使用するときは、必要な値だけを扱ってください。
  • 権限設定を保存する独自画面、ロールを作成する機能、権限を一括変更する機能はありません。
  • 独自テンプレートタグとグローバルモディファイアは提供しません。

制限事項

  • 個別の権限名や権限の強さを条件に、取得するサイトを絞り込むことはできません。
  • サイトの編集画面を表示または非表示にする機能ではありません。
  • 公開サイトから利用するデータ提供機能ではありません。
  • 親サイトと子サイト以外の任意の階層構造へ変換する設定はありません。