グループ管理

MODX のグループ管理の使い方を説明します。

グループ管理は複数の編集者やメンバーズサイトを管理したいときに使用します。MODX のアクセス制限はグループ管理でおこないとても細かく設定が出来きますが結構ややこしいです…(´•ω•`)

使用方法

グループ管理機能はデフォルトでオフになっているので、まずは使えるようにします。

「グループ管理機能を使用」で「はい」を選択すると、権限管理のタブに「グループ管理」と「グループ管理(ウェブ)」のメニューが追加されます。

グループ作成の流れ

MODX のアクセス制限は、個別のユーザーとリソースを関連付けるのではなく複数のユーザーが参加出来るグループとリソースを関連付けます。

  1. ユーザーグループを作成
  2. リソースグループを作成
  3. ユーザーグループとリソースグループをリンクさせる
  4. ユーザーをユーザーグループに追加
  5. リソースをリソースグループに追加

順番は必ずこのとおりでないですが大体こんな感じです。

グループや権限に関する名称

ユーザー(管理ユーザー)

リソースや機能の管理が出来るユーザーです。ロールを持っています。

ウェブユーザー

制限されているページの閲覧のみ出来るユーザーです。ロールは持っていません。

ロール

リソースの作成、リソースの編集、リソースの削除、他のユーザー情報の編集、テンプレートやアドオンの編集など、どこまで管理できるかの組み合わせです。ユーザー(管理)はいずれかのロール1つだけ設定できます。

ユーザーグループ

管理もできる管理ユーザーのユーザーグループと閲覧のみ出来るウェブユーザーのウェブユーザーグループが別々にあります。管理ユーザーはユーザーグループ、ウェブユーザーはウェブユーザーグループにしか登録できません。
1人のユーザーは複数のグループに所属する事が出来ます。

リソースグループ

管理ユーザーやウェブユーザーが閲覧・編集可能なリソースのまとまりです。

新しくグループ管理をする

例で「生徒が作っている学校のサイト」を作ることにします。学級と部活のページはそれぞれその学級員と部員に管理させたいですが、だれでも編集が出来てしまうと色々大変そうなので担当者だけが編集出来るようにしたいと思います。

ロールを作成

まずロールを作成しておきます。

デフォルトで「ウェブマスター」というロールがありますがこれは MODX の全ての機能が使用できるロールなので、学級や部の投稿担当者がシステム部分まで弄ってしまわないようにリソースの編集だけ出来るロールを新しく作ります。

ユーザーを作成

ユーザーを作成してロールを割り当てます。佐藤先生だけウェブマスターなので全ての機能を使用できます。

名前ロール
佐藤先生 ウェブマスター
鈴木花子 投稿担当
田中太郎 投稿担当

ユーザーグループとリソースグループを作成

グループを作成します。とりあえず3年1組、3年2組、陸上部と、トップページなどそれ以外の管理者用を作ります。(管理者の @ は並び順を最後にするためのただの記号です)

その右にあるリソースグループタブでリソースグループが作成できます。
簡単なグループ管理ならユーザーグループと一緒だと分かりやすいです。

一番右のグループリンクタブで上で作ったユーザーグループとリソースグループをリンクさせます。

管理者に全てのリソースグループを登録しておけば、管理者は全てのグループを編集出来るように全てのリソースグループとリンクさせておきます。

ユーザーをグループに参加させる

管理させたいユーザーをユーザーグループに参加させます。
例えば「鈴木花子」は3年1組の陸上部員なのでその2つを選択します。

こんな感じで他のユーザーもグループに参加させます。

名前ロール所属グループ
佐藤先生 ウェブマスター @管理者用
鈴木花子 投稿担当 3年1組、陸上部
田中太郎 投稿担当 3年2組、陸上部

ユーザーをグループに参加させると、グループ管理画面でそのグループに参加しているユーザーのIDが表示されるようになります。

リソースを作成する

グループ管理機能を使用するにしていると、リソース編集画面のタブに「所属グループ」というタブが追加されます。
3年1組というリソースを作成して、3年1組のリソースグループをチェックします。

トップページは管理者だけしか編集できないように管理者用をチェックします。

こんな感じで他のページも作っていきます。

リソース名所属グループ
トップページ @管理者用
3年1組のページ 3年1組
3年2組のページ 3年2組
陸上部のページ 陸上部

管理ユーザーでログインする

試しに「鈴木花子」で管理画面にログインしてみます。
「鈴木花子」が編集可能な「3年1組」と「陸上部」のリソースだけが表示されています。リソース編集以外の権限がないので管理画面のシステム関係のメニューは表示されていません。

テンプレート変数が表示されない!

グループ管理をするとテンプレート変数のアクセスも設定する必要があります。

の編集画面に所属グループというタブが追加されているので、このテンプレート変数を編集できるグループを選択しておきます。
全て選択してもいいですし、編集できるグループを細かく分けることも出来ます。

閲覧のアクセス制限をする

ここまでは管理画面の制限の説明でしたが、ページへのアクセス制限はグループ管理(ウェブ)で行います。
例で学級のページと部活のページはそれぞれの学級員、部員しか見られないようにしたいと思います。

グループ(ウェブ)を作成してリソースグループとリンクさせる

作成方法は管理ユーザーのグループ作成と同じです。リソースグループは共通です。

とりあえず3年1組のユーザーグループを作成します。

ウェブユーザーグループとリソースグループとリンクさせます。

一旦ログアウトして、サイトを見てみましょう。

メニューから3年1組のリンクが消えています。3年1組のページを見るには、「3年1組」のウェブユーザーグループに参加しているユーザーでログインする必要があります。

ウェブユーザーを作成する

3年1組の山田二郎というウェブユーザーを作成します。

※ユーザー管理ではなくウェブユーザー管理タブからユーザーを作成します。

グループ管理(ウェブ)タブで3年1組のグループに参加させます。

ウェブユーザー用のログインフォームを作る

ウェブユーザーは「/manager/」の管理用ログイン画面からはログインできません。ウェブページからログイン出来るようにするには「WebLogin」というスニペットを使用してログインフォームを設置します。このスニペットは標準でインストールされています。

[!WebLogin!]

トップページの適当な場所に上のMODXタグを記述すると以下のようなログインフォームが表示されます。

このログインフォームから山田二郎でログインしてみます。

3年1組のページが表示されました。

ウェブユーザーグループで3年2組も作成すると同じように見られなくなりますが、山田二郎ではログインしても3年2組に参加していないので見ることは出来ません。

本来Evoの管理ユーザーとウェブユーザーは別ものなので、管理ユーザーとして管理権限を持っていてもウェブユーザーのアクセス制限がかかっていたらページが見れなくなりますが‥

にある「認証状態を上書き」を「はい」にしていれば管理ユーザーでログインしていればグループに参加しているページは自動的に見られるようになります。「いいえ」にした場合、別途ウェブユーザーを作成してそのユーザーでログインしないとページが見られません。

Edited on 2017.02.15 Created on 2015.01.19 MODX Evo