我知道我可以設置一個角色,允許用戶只編輯他們自己的頁面,然後去標記合適的用戶創作的頁面。但後來我遇到了多個用戶每頁問題。Drupal的用戶權限,只允許特定用戶編輯特定頁面
有什麼辦法可以明確地只允許用戶編輯某些(可能是多個)頁面,同時在允許多個用戶編輯同一頁面的情況下考慮重疊?
謝謝
我知道我可以設置一個角色,允許用戶只編輯他們自己的頁面,然後去標記合適的用戶創作的頁面。但後來我遇到了多個用戶每頁問題。Drupal的用戶權限,只允許特定用戶編輯特定頁面
有什麼辦法可以明確地只允許用戶編輯某些(可能是多個)頁面,同時在允許多個用戶編輯同一頁面的情況下考慮重疊?
謝謝
如果您只需要一個將用戶的訪問權限設置爲特定內容類型的節點的模塊,請使用http://drupal.org/project/content_access;如果內容類型是書籍,那麼您也可以嘗試http://drupal.org/project/book_access。
請記住,應該避免安裝不同的訪問控制模塊,因爲它們往往會彼此衝突。
如果您有耐心,那麼您可以按照Jeremy的建議創建您自己的自定義模塊,並實現hook_node_access_records()
和hook_node_grants()
。
這將是相當複雜的以編程方式做,但一個相當簡單的解決方案是創建一個詞彙應用到頁面,然後使用分類訪問控制模塊:http://drupal.org/project/taxonomy_access設置基於權限條款。
這也有可能通過編程方式使用hook_nod_access_records()和hook_node_grants()。
使用hook node_access_record用您希望允許的用戶的UID創建relm。並在鉤子授予創建與用戶uid在同一relm授予。這並不是那麼可怕,而且非常靈活。
我在幾個月前回答過類似的問題,以實現幾個不同的接入場景的概述:
How do I give a specific user editing rights to a specific node?
我建議tac_lite,它少了幾分沉重,它提供了配置個人用戶靈活而不僅僅是角色。 – Grayside 2010-06-15 06:19:33