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