2012-06-29 16 views

回答

2

的OpenERP有兩種安全限制,可分配給用戶組:應用上創建,讀取,寫入,取消鏈接操作

  • Record Rules的過濾器,並允許每個文檔訪問控制,一旦訪問權限已被授予。如果文檔至少符合一條記錄規則,用戶將只能對給定文檔執行操作。默認策略是ALLOW,因此如果給定模型不存在規則,那麼具有必要訪問權限的用戶可以訪問該模型的所有文檔。

  • Access Rights是創建,讀取,寫入,取消鏈接,是/否標誌(類似於Unix FS權限),並允許每個模型的訪問控制。他們指出這個小組的成員是否可以執行創建,讀取,更新,並在一定的文檔模型(如項目任務)的任何文件刪除操作。默認的策略是DENY,所以在默認情況下,如果用戶沒有明確必須通過她的團體的訪問權限之一來執行的權利任何操作都將被拒絕。

訪問權限和記錄規則也可以全局定義,而不必將它們分配給特定的組,在這種情況下,它們適用於所有人。記錄規則有一個缺陷:全局規則可能不會被其他規則放寬(故意!),所以請謹慎使用。

在你的情況下,它看起來像你應該定義上明確限制上項目准入,項目任務和階段,以自己的任務,項目的用戶組一個額外的記錄規則。您需要創建安全規則菜單中的新條目與這些參數:

object/model: project.task 
name: See own tasks only 
domain: ['|',('user_id','=',False),('user_id','=',user.id)] 
(means: your own tasks and unassigned ones) 
apply for read: [x] 
apply for write: [x] 
apply for create: [x] 
apply for delete: [x] 
groups: Project/User 

object/model: project.project 
name: See own project only 
domain: ['|',('user_id','=',False),('user_id','=',user.id)] 
(means: your own project and unassigned ones) 
apply for read: [x] 
apply for write: [x] 
apply for create: [x] 
apply for delete: [x] 
groups: Project/User 


object/model: project.phase 
name: See own phase only 
domain: ['|',('user_id','=',False),('user_id','=',user.id)] 
(means: your own phase and unassigned ones) 
apply for read: [x] 
apply for write: [x] 
apply for create: [x] 
apply for delete: [x] 
groups: Project/User 

記錄規則的域名是在其上您要執行的操作記錄進行評估標準的OpenERP域,並且可以引用包含當前用戶數據的用戶變量(技術上,當前用戶的browse_record)。尋找搜索()在

注:有一個在現有記錄的規則,看看他們在做什麼第一,並請務必閱讀記錄規則表格上的說明,當你加入你的。請記住,如果你做一些錯誤的訪問權限和記錄規則,你總是可以解決亂用管理員帳戶,因爲這些安全限制不適用於管理員(類似於UNIX上的root用戶)。

+0

這將是客氣提[源(http://stackoverflow.com/a/10947529/4794)當您剪切和粘貼一個答案,@jam。 –

+0

您好,我收到此錯誤提高了ValueError(「無效字段%r在域表達式%r」%(left,exp)) ValueError:域表達式['|',''user_id',' =',False),('user_id','=',10)] –

+0

是@DonKirkby我做了同樣的事情,我也將其標記爲重複相同。我複製它,因爲它是最好的描述可以給。 –

1

項目模塊包括正是這麼做的任務的記錄規則,「 任務根據用戶和項目」:

['|',('user_id','=',False),('user_id','=',user.id)]

你只需要創建一個相同的記錄規則(菜單設置»安全»記錄規則)對象Project

+0

修復了代碼:'project_id.members','in',[user.id]),'project_id.user_id','=',user.id不適用於任務。 –

相關問題