ユーザはいずれかの「グループ」に所属する必要があります。所属するグループによって、そのユーザが何をできるかが決まります。複数人でサイトを管理する場合や、一般の方からユーザ登録を受け付ける場合は、誰がどのグループに所属するかよく検討しなければなりません。
Joomla!1.5までは、Joomla!組み込みのグループを利用するしかありませんでした。しかしJoomla!1.6以降から独自のグループを作成でき、さらに権限を自由に割り当てることができるようになったので、より柔軟なサイト運営が可能になりました(より複雑にもなりました。)
このページではJoomla!のグループについて説明します。
例えば「佐藤花子」のユーザ編集画面を開くと、以下のようなグループ設定があります。一人のユーザが複数のグループに所属することもできます。
ではこのグループがどこで定義されているかというと、「ユーザ」→「グループ」です。
グループ編集画面が表示されます。より左側に表示されているのが親グループです(一番の親はゲスト)。親グループだからといって権限が強いわけではなく、親グループで設定した権限が子グループに継承されていきます。また画面右上にあるツールバーを使ってグループを追加・編集・削除できます(この作業については簡単なので触れません)。なおこの画面では、単にグループの階層を作るだけであり、権限は設定できません。
グループの権限を設定するのは「サイト」→「グローバル設定」→「権限」です。
権限の設定画面が表示されます。先ほどのグループの階層が表示され、グループ名をクリックするとそのグループで何ができるのかを決める「アクション」が表示されます。そしてそのアクションに対して許可するか、拒否するかを決めるのが「このグループの設定」です。以下の画像は「ゲスト」のアクションを表示した状態です。
アクションの意味は次の通りです。
アクション | できること |
サイトログイン | このアクションを許可すると、サイトのフロントエンドにログインできます。 |
管理画面ログイン | このアクションを許可すると、サイトのバックエンドにログインできます。 |
オフラインアクセス | このアクションを許可すると、サイトをオフライン状態(メンテナンスモード)にしても、ログインすればサイトを表示できます。 |
スーパーアドミン | このアクションを許可すると、何でもできます。最高の権限です。 |
一般的な管理画面操作 | このアクションを許可すると、「グローバル設定」以外の管理画面にアクセスできます。 |
作成 | このアクションを許可すると、記事(またはエクステンションのコンテンツ)を作成できます。 |
削除 | このアクションを許可すると、記事(またはエクステンションのコンテンツ)を削除できます。 |
編集 | このアクションを許可すると、記事(またはエクステンションのコンテンツ)を編集できます。 |
設定 | このアクションを許可すると、記事(またはエクステンションのコンテンツ)を設定できます。 |
自身の編集 | このアクションを許可すると、自分で作成した記事(またはエクステンションのコンテンツ)を編集できます。他のユーザが作成した記事は編集できません。 |
このアクションと許可/拒否の組み合わせによって、グループで毎に権限を割り当てます。
では設定を見ていきます。
まずは「ゲスト」ですが、すべてのアクションに対して「未設定」になっています。「未設定」という選択肢は特別で、この「ゲスト」にしかありません。といっても未設定は基本的に「拒否」と同じですので、これらのアクションを行うことはできません。簡単に言えばゲストは「サイトを見るだけで何にもできない」という意味になります。
次はその1レベル下の階層にある「サイト管理者」を見てみましょう。サイト管理者は「オフラインアクセス」「スーパーアドミン」「一般的な管理画面操作」は「継承」になっています。これらは親グループである「ゲスト」の権限を継承しますので、これらの動作は許可されません。これ以外のアクションはすべて「許可」に設定してあります。つまり「サイト管理者」は、「バックエンドにはログインできるけど管理作業(メニュー管理、記事管理、カテゴリ管理、エクステンション管理等々)はできない。フロントエンドからは記事を投稿したり編集したりできる。」という意味になります。
実際には「サイト管理者」でもバックエンドで「記事管理」や「カテゴリ管理」を使うことができます。これは各コンポーネント側でアクセス権のオーバーライドが可能なためです。詳しくは後ほど説明します。
ではその子グループである「システム管理者」はどうでしょうか。「サイト管理者」と比較し「一般的な管理画面操作」が許可されています。つまりシステム管理者は「サイト管理者の権限+管理操作」ということになります。
次はゲストの直接の子である「登録ユーザ」を見てみます。「サイトログイン」だけが「許可」になっています。その他は「継承」となっていますので、親グループである「ゲスト」の値を引き継ぎます。つまり「登録ユーザ」グループは、「サイトにログインすることだけできる」ということです。「ログインだけしても意味あるの?」と思われるかもしれませんが、これは後で説明する「アクセスレベル(閲覧レベル)」に関係します。
では「登録ユーザ」の子グループである「投稿担当」はどうでしょうか。「登録ユーザ」に加え、「作成」と「自身の編集」が許可されています。つまり投稿担当は、「フロントエンドからログインして記事を投稿したり、自分で投稿した記事を直したりできる」という意味になります。
「投稿担当」の子グループである「編集担当」は以下の様になります。「投稿担当」と比較し「編集」が許可されています。つまり編集担当は「投稿担当の権限+誰の記事でも編集できる」という意味になります。
編集担当の子グループである「公開担当」は、「編集担当の権限+記事の設定ができる」権限を持ちます。「設定」とは記事の状態(公開/非公開)や公開開始/終了日時などを指します。
少し特殊なのが「最高管理者」です。最高管理者は「ゲスト」の直接の子であるにもかかわらず「スーパーアドミン」だけが「許可」で他は「継承」になっています。スーパーアドミンを許可すると、他のアクションをすべて許可したことになります。
このようにデフォルトのグループ設定では、サイトをすぐに運営できるようなグループと権限があらかじめ設定されています。
これまでJoomla!1.0、Joomla!1.5を使った事がある方であればピンときたかもしれません。これらのグループの初期設定は、Joomla1.0と1.5のグループ権限と同じになるように設定されています。