一個好的wiki system一定要必備權限設定(access control),無論是整體還是單一頁面設定,
moinmoin稱這個設定為access control list(ACL)。

因為當初找不到中文的說明、或是筆記,所以試了不少時間,因此在這裡做個紀錄,
之後交接也有東西可以參考。

acl的基本語法都是:

name:rights_list another_name:right_list

,例如:

koukai:write,read koukai2:read All:read

All是表示其他所有人、name的地方也可以是group後續有說明

一、全域設定(configure file)
這是放在wikiconfig.py的設定,其實我還分不太清楚acl_rights_before, acl_rights_after的差別

  • acl_rights_default:這是用於當頁面acl沒有指定的時候,所採取的策略。
  • superuser:管理員名單

二、群組設定(group)
群組名單是一個以wiki name為名稱的頁面,wiki name為大小寫混合的名稱,
但群組名單限定結尾必須是Group例如:GoodGroup, BadGroup, OSLabGroup

頁面內容則以第一層list作為群組名單,例如:

 * Steven
 * Teddy
  * John

如上面的內容,Steve, Teddy都屬於該Group,但John則會被忽略

三、設定單一頁面存取權限
只要在該頁面前頭加入

*acl SomeUser:rights_list SomeGroup:right_list

即可,例如:

*acl Steven,Teddy:write,read OSLabGroup:Read

就表示這個頁面只有Steven, Teddy可以讀、寫;而OSLabGroup的人可以閱讀,
其他人進入都會顯示「您無權瀏覽本頁」。

以上,簡單的簡介,希望對使用moinmoin wiki的人有所幫助。

koukaipan 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • misgarlic
  • MoinMoin同好

    我也是用類似的方式, 在 wiki config 裏定義 ReadGroup, WriteGroup, Admin 有的權利,
    然後再編輯這些 wiki word 裏面的名單
    acl_rights_default = u"ReadWriteGroup:read,write,delete,revert ReadGroup:read"
    acl_rights_before = u"AdminGroup:admin,read,write,delete,revert"

    終於有同好出現, 以後就可以切磋切磋了
  • 這個idea不錯耶!!

    這樣管理方便多了!

    koukaipan 於 2008/10/08 13:19 回覆