ユーザ権限の設定について
MODX Evolutionのユーザ管理体系は、「管理画面ユーザ」と「ウェブユーザ」の2種類があります(※Revolutionではひとつだけ)。管理画面にログインして各種の運用操作を行なうのが前者、会員制サイトなどを作るために用いるのが後者です。それぞれ目的が全く違いますが、ここでは前者について説明します。
ユーザ単位に権限設定を行なうことはできません。グループ単位・ロール単位で行ないます。たとえると、下記のような感じです。
- グループ - 営業部・技術部といったふうに、ユーザのまとまりを管理します。
- ロール - 社長・部長・普通社員・アルバイトといったふうに、ユーザごとの権限を示します。
たとえば、営業部グループの中には部長も社員もアルバイトも存在する、といった感じの組み合わせ感になります。まず最初にグループでユーザを仕切り、さらにロール(役職)で各自の作業権限を決めるわけです。
グループが管理するのはユーザだけではありません。ページ(リソース)もグルーピングの対象です。操作の対象は、個々のページではなくリソースグループ単位で指定します。
複雑に感じられるかもしれませんが、この運用を守る限りにおいては例外が発生しにくいため安全です。オーサリングツールとしてはコンテンツの作成において自由度が非常に高いMODXですが、運用においては安全性を考慮しているというわけです。
個別のページと個別のユーザを直接関連づけたい時は、プラグインを自作するなどして対応する必要があります。簡単な条件判定を経て$modx->hasPermission('edit_document')を1に設定するとよいでしょう。
リソースの新規作成時のデフォルトは、どのグループにも属しておらず「パブリック」な扱いとなります。無関係のチームにさわってほしくないページは、適切にグルーピングを行なって保護しましょう。