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のワークフロー設定)