グループの権限は「グローバル設定」から変更する事ができました。しかし権限の設定は「グローバル設定」以外にも様々な場所にあります。これは何が違うのでしょうか?
例えば記事の編集画面ある「記事の権限」タブを開くと権限設定があります。
その他、色んなページの右上に「オプション」というボタンがあり、そこを開くと権限設定があります。例えば以下は「メニュー」→「メニュー管理」→「オプション」を開き、「権限」タブを開いた状態です。
このように、いたるところに権限設定が存在します。
これらは「グローバル設定」で設定した権限を、さらに細かく設定するためのものです。例えば上図の「メニュー管理」で権限を設定すれば、グローバル設定よりもこちらの設定を優先します。これをオーバーライドすると呼びます。
今回は権限のオーバーライドを使って、権限設定に関する例を示したいと思います。
記事だけを管理できる「記事管理」グループを作りたい
グループを「Mangager」に設定すると、バックエンドにログインした際に「記事」と「カテゴリ」だけでなく、「コンポーネント」や「メディア管理」も操作することができてしまいます。今回は「記事」や「カテゴリ」だけにしかアクセスできない「記事管理」というグループを作ってみたいと思います。これを実現するにはオーバーライドが必要です。
まず「ユーザ」→「グループ」→「グループの追加」からグループを追加します。グループ名は「記事管理」、親グループは「Public」に設定して保存します。
ゲストの直下に「記事管理」グループが作成されたことを確認してください。
次に権限を割り当てます。「サイト」→「グローバル設定」→「権限」を開き、「記事管理」の権限設定を設定します。「オフラインアクセス」「スーパーアドミン」「管理画面インターフェイスへのアクセス」を除いて「許可」に設定します。
次に「記事管理」グループのアクセスレベルを変更します。「ユーザ」→「閲覧レベル」→「Registered」を選択し、「記事管理」にチェックを入れます。バックエンドのメニューやモジュールのアクセスレベルが「Registered」に設定されているため、記事管理グループをRegisteredに設定しないとログインした時に何も表示されないためです。
次に「ユーザ」→「ユーザ管理」から、「hanako」を記事管理グループに所属させて下さい。
ひとまずここで設定は完了です。いったんバックエンドからログアウトして「hanako」でログインしてみます。
すると、ほんの少しのメニューしか表示されないはずです。これは「グローバル設定」で「管理画面インターフェイスへのアクセス」を許可していないためです。しかし許可してしまうと、記事やカテゴリだけでなく「コンポーネント」にも「メディア管理」にもアクセスできてしまいます。
そこでオーバーライドの出番です。グローバル設定では「管理画面インターフェイスへのアクセス」を許可せず、記事管理の権限設定で許可します。グローバル設定より記事管理側の権限が優先されますので、記事管理やカテゴリ管理にはアクセスできるようになるという算段です。
では実際に設定してみます。管理者のユーザでログインし直し、「記事」→「記事管理」→「オプション」→「権限」タブを開きます。記事管理グループを開き、「管理画面インターフェイスへのアクセス」を「許可」に変更して保存します。
では再度「hanako」でログインして下さい。すると次のように記事を管理するメニューが表示されます。以下の図のようになれば成功です。