エンタープライズ

目次

ロール機能について

a-blog cms では、ユーザーの権限を管理者、編集者、投稿者、購読者の中から設定することができます。以下が各、ユーザーに与えられる権限です。

投稿者編集者管理者
エントリーの投稿・編集
自分のエントリー以外も管理×
エントリーの削除×
カテゴリーの作成×
カテゴリーの編集・削除×
タグの編集・削除×
その他管理操作××

さらにエンタープライズライセンスから使用可能なロール機能を使うことで、各ユーザーに応じて「投稿者」や「編集者」の設定にかかわらず、より細かい権限を適応可能になります。下がその設定項目となります。

エントリー権限エントリーの投稿・編集、自分のエントリー以外も管理、エントリーの削除
カテゴリー権限カテゴリーの作成、カテゴリーの編集・削除
フォーム権限フォームデータの閲覧、フォーム設定の編集・削除
タグ権限タグの編集・削除
メディア権限メディアのアップロード、メディアの編集・削除
テンプレート書き出し権限テンプレート書き出しの編集、テンプレート書き出しの実行
管理権限コンフィグの編集、モジュールの編集、ルールの編集、バックアップ(エクスポート)、バックアップ(インポート)、その他管理操作

ロール機能の利用方法

それでは実際にロール機能を使ってみましょう。ロール機能を使うには「ロールの作成」と「ユーザーグループ」の作成、2つの作業が必要となってきます。まずはロールの作成方法からご説明します。

ロールの作成

ロールは 管理ページ > ロール管理 より「ロールの作成」というボタンを押すことで作成できます。 すると下図のロール詳細ページに遷移します。



そこで付与したい権限に対してチェックを入れることで、そのロールに対して権限が有効になります。

ユーザーグループの作成

次にユーザーグループの作成です。ここでは先ほど設定した権限セットを選択した特定のユーザーにのみ適応することができます。 ユーザーグループは 管理ページ > ユーザーグループ管理 より「ユーザーグループの作成」というボタンを押すことで作成できます。 すると下図のロール詳細ページに遷移します。



そこで先ほど設定した「ロール」を適応したいユーザーにチェックを入れることで先ほどの権限が付与されます。

ロール機能使用時の権限の扱いについて

あるユーザーがユーザーグループに属している場合、本来の「編集者」「投稿者」などの権限が無効になり、そのユーザーグループに設定されたロールに応じて挙動が変わってくるので注意が必要です。 つまり、本来のユーザーの役割にかかわらず、ロールの設定に応じてそのユーザーを「編集者」や「投稿者」「管理者」とみなす仕様となっています。 下の表はロールの設定画面にて、ユーザーがある役割(投稿者など)と見なされるために最低限どの項目にチェックが付いていなければいけないかを表した表となります。 ○は必ずチェックが付いていないといけない項目、×は必ずチェックが外れていないといけない項目となります。

投稿者編集者管理者
エントリーの投稿・編集
自分のエントリー以外も管理×
エントリーの削除
カテゴリーの作成
カテゴリーの編集・削除
タグの編集・削除
その他管理操作××

ロール機能使用時のタッチモジュールの振る舞いについて

Touch_SessionWithCompilationTouch_SessionWithContributorなどの権限に応じたタッチモジュールもユーザーがユーザーグループに追加されている場合はそのロールにしたがって中身のテンプレートが展開されたりされなかったりします。

例えば上の表のようにロールの設定にて、最低でも「エントリーの投稿・編集」「自分のエントリー以外も管理」「エントリーの削除」「カテゴリーの作成」「カテゴリーの編集・削除」「タグの編集・削除」の項目にチェックが入っていて、「その他管理操作」の項目のチェックが外れていれば、それは本来の「編集者」以上の権限を持つことになるのでTouch_SessionWithCompilationの中身のテンプレートが展開されます。

<!-- BEGIN_MODULE Touch_SessionWithCompilation -->
<!-- END_MODULE Touch_SessionWithCompilation -->

また、最低でもエントリーの投稿、編集機能にチェックが入っていて、「その他管理操作」の項目のチェックが外れていれば、それは「投稿者」以上の権限を持つことになるので、Touch_SessionWithContributorの中身のテンプレートが展開されることになります。

<!-- BEGIN_MODULE Touch_SessionWithContribution -->
<!-- END_MODULE Touch_SessionWithContribution -->