AutoRoleの利用 [Plone4.0]

AutoRole を利用することで、特定の IP からのみのアクセスを許可することができる。あるユーザ(Anonymous含)のアクセス元 IP に応じて、そのユーザにロールを付与する仕組みになっている。ワークフローのある状態を、アクセス元 IP に応じて付与するロールを持つユーザが、閲覧等できるような権限を付与することで、「学内公開」のような状態を組み込むことができる。

インストール

サーバへのインストール

インストールはインスタンス内の buildout.cfg を設定する。

  eggs =
      Plone
       :
+     Products.AutoRole==2.1.1

次に設定を反映する。

# bin/buildout
# bin/plonectl stop; bin/plonectl start

プロキシの設定

Zope の前に Apache 等のプロキシを設置する場合は、Zope へのアクセスはすべてプロキシからのアクセスとなってしまう。そこで、アクセス元をプロキシを通る直前のアドレス(X-Forwarded-For ヘッダ)となるように設定する。設定は インスタンス内の buildout.cfg に以下のように記述する。

+ [instance]
      :
+ zope-conf-additional =
+     trusted-proxy 192.168.0.1

プロキシサーバを置き換える場合は、アクセス制限が外れないように注意すること。

設定

Ploneへのインストール

次に Plone に管理者でログインし、「サイト設定→プロダクトを追加・削除」より AutoRole PAS Plugin をインストールする。

Activate の設定

ZMI で acl_users/auto_role を開き(上記インストールで追加される)、Activate タブので以下のように設定する。

Groups (getGroupsForPrincipal) : OFF 
その他 : ON

優先順は全て AutoRole を一番下にする必要がある。上位にすると、他のプラグインのユーザでログインできなくなる。

IPアドレスとロールのマッピング設定

ZMI で acl_users/AutoRole を開き Properties タブので設定する。XXX.XXX.XXX.XXX:Role または XXX.XXX.XXX.XXX/mask:Role の形式で1行に1条件ずつ複数行指定できる。

例
192.168.2.0/24:KyotoUniv

対応づけるロールは別途作成する必要があるかもしれない。(→Ploneのワークフロー設定)