:::: MENU ::::

Trac0.11にAccessControlPluginを入れる

インストール方法

# cd /usr/loca/src/tracplugins
# mkdir accesscontrolplugin-0.11
# svn co http://svn.sourceforge.jp/svnroot/shibuya-trac/plugins/accesscontrolplugin/trunk/0.11/ ./accesscontrolplugin-0.11/
# cd accesscontrolplugin-0.11/
# python setup.py bdist_egg

trac.ini の設定

ユーザ単位ではなくアクションで判断する形で制限している。
以下の例だと WIKI_ACCESS_TESTPAGE というアクションが自動的にできあがるので、適宜パーミッションを付与する。
WIKI_ACCESS_ALL というアクションも追加されていて、これはこのプラグイン用の WIKI_ADMIN みたいなもの。
正規表現はページ名を指定可能。

# vi conf/trac.ini
[accesscontrol-wiki]
control_pages = testpage
testpage.action = WIKI_VIEW,WIKI_MODIFY
testpage.regex = testpage.*,dumm.

[trac]
permission_policies = WikiPermissionPolicy, TicketPermissionPolicy, DefaultPermissionPolicy, LegacyAttachmentPolicy
□設定例
# 閲覧させたくない(当然編集も削除もできない)
testpage.action = WIKI_VIEW

# 編集させたくない
testpage.action = WIKI_MODIFY

# 削除させたくない
testpage.action = WIKI_DELETE

エラーページがちょっとわかりにくい

TestPage に対して、この操作を行うには WIKI_VIEW 権限が必要です

WIKI_ACCESS_TESTPAGE 権限のないユーザでアクセスすると、上記のようなエラーメッセージが出てくる。
ほかのページが見れるから WIKI_VIEW 権限はついているはずなのに、なんで WIKI_VIEW 権限が必要ってでるの?って、
このプラグインが適応されていることを知らない人は思ってしまうのではないかと。