odoo12 基于组的访问控制机制

通过组权限来实现权限管理,组是保存在res.groups里的一些记录。菜单的权限可以通过xml中菜单的定义设置组权限。菜单下关联的model也要设置对象级别的访问权限(read, write, create, unlink),并关联到特定组。还有一些model.py里的做权限检查或xml定义中设置field相关的组。

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <odoo>
 3     <data>
 4         <record model="res.groups" id="group_manager">
 5             <field name="name">管理</field>
 6         </record>
 7         
 8         <record id="only_responsible_can_modify" model="ir.rule">
 9             <field name="name">只有课程负责人可以编辑课程</field>
10             <field name="model_id" ref="model_odoogoedu_course"/>
11             <field name="groups" eval="[(4, ref('odoogoedu.group_manager'))]"/>
12             <field name="perm_read" eval="0"/>
13             <field name="perm_write" eval="1"/>
14             <field name="perm_create" eval="0"/>
15             <field name="perm_unlink" eval="1"/>
16             <field name="domain_force">
17                 ['|', ('responsible_id','=',False),
18                       ('responsible_id','=',user.id)]
19             </field>
20         </record>
21     </data>
22 </odoo>

猜你喜欢

转载自www.cnblogs.com/itelephant/p/11408630.html