Drupal 導入記(アクセス制限:その2)

Taxonomy を使ってアクセス制限する

1)アクセス制限用の用語「IWGP」と「iwg」を追加

ツールバーから Home » Administration » Structure » Taxsonomy に行く。前回すでに追加した「Subgroups」を選択。"LIST" タブで、「IWGP」を "Add term" する。これは、「国際ワーキンググループ準備チーム」を示すサブグループ。

同様に Home » Administration » Structure » Taxsonomy に行き、デフォールトで用意されているはずの「Tags」を選択。"LIST" タブで、「iwg」を "Add term" する。これは、「国際ワーキンググループ」を示すタグ。

2)新しい Role 「IWG」を追加

ツールバーから Home » Administration » People » Permissions に行く。ここで「Roles」ボタンを押す。新しい Role として、「IWG」を入力し、"Add role" を押す。これは、「国際ワーキンググループ」を示す Role。"edit permissions" をクリックし、「IWG」の役割(事前に作成してあった、Content type「Preparatory Team for ILC IWG」のページの作成、編集)を定義する。新しい Content type の追加は Home » Administration » Structure で行う。

3)Taxonomy Access Control モジュールの設定

Home » Administration » Configuration » People から "Taxonomy access control" に入る。"IWG" Role に対して "Configure" をクリックする。"edit access rules" する。リストから Tags の「Iwg」を選び、また "with decendents" にチェックを入れて "Add" する。"Add vocabulary" で、Subgroups の「IWGP」を選び、また "with decendents" にチェックを入れて "Add" する。"anonymous user"、"authenticated user" に対して "edit access rules" する(iwg タグ及び IWG gグループのページに対し ignore と deny)。これで "iwg” というタグのついたコンテンツ、あるいは、"IWGP" グループに属するコンテンツは一般ユーザーにはアクセスできなくなる。複数の Tags が設定された場合、アクセス権は、それらの OR になるので、アクセス禁止したい場合は、全ての Tags がそのコンテンツへのアクセスを禁止していなくてはならない。例えば、"iwg, domestic" のような指定だと、domestic は一般ユーザーの閲覧が許されているので、iwg 指定してあっても一般ユーザーが閲覧できてしまう。そこで "iwg_domestic" のような taxonomy term を新たに追加し、それに "iwg" と同じアクセス権を設定する必要があることに注意。

IMCE で作成したフォルダーやアップロードしたファイルをアクセス制限する

1)Configuration profile「iwg」を追加

Home » Administration » Configuration » Media で "Add new profile" をクリックし、「iwg」を作成。<root>/iwg を "including subdirectories" にチェックを入れてアクセス可能ディレクトリーに追加する。「IWG」Role に、作成した「iwg」profile をアサイン(プルダウンメニューから選択)する。これで、「iwg」profile がアサインされていない Role では、<root>/iwg にアクセスできなくなる。

 

 

 

Subgroup: