15、安全与权限(Security)
在odoo中配置访问控制机制来实现连贯的安全策略。
Odoo的权限的核心是权限组(res_groups)。基于组的访问控制机制。
通过组权限来实现权限管理,组是保存在res.groups里的一些记录。
菜单的权限可以通过xml中菜单的定义设置组权限。
菜单下关联的model也要设置对象级别的访问权限(read读, write写, create增, unlink删),并关联到特定组。
还有一些model.py里的做权限检查或xml定义中设置field相关的组。
权限管理的四个层次
- 菜单级别:不属于指定菜单所包含组的用户看不到该菜单(不安全),只是隐藏菜单,若知道菜单ID,仍然可以通过指定URL访问
- 对象级别:对某个角色是否有’创建,读取,修改,删除’的权限,可以简单理解为表对象
- 记录级别:对对象表中的数据的访问权限,比如访问“客户”对象,业务员只能对自己创建的客户有访问权限,而经理可以访问其管辖的业务员所有的“客户”对象
- 字段级别:一个对象或表上的某些字段的访问权限,比如产品的成本字段只有经理有读权限