zoukankan      html  css  js  c++  java
  • Odoo安装教程11-创建新的插件模块之设置访问权限

    设置访问权限

    在加载服务时,你可能会注意到输出日志中有一条警告信息:
    The model library.book has no access rules, consider adding one.
    提示消息已经很明确了,我们的新模型没有访问规则, 所以任何人都可使用。我们已为应用添加了安全组,现在就为模块授权。
    “ 小贴士: 在 Odoo 12 以前, admin 可自动访问所有数据模型,它是一个不受权限控制的超级用户。在 Odoo 12 中则不再如此,需要在新模型中设置 ACL 才对 admin 可见。 ”

    添加访问权限控制

    Technical > Security >
    Access Rights:这里可以看到一些模型的 ACL(Access Control List),表示允许每个安全组对记录的操作。这一信息需要通过模块中的数据文件提供,然后载入 ir.model.access 模型。我们将为 employee 组添加该模型的所有权限,内部用户是几乎所有人隶属的基本权限组。
    “ 注意: Odoo 12 的修改User 表单现在有一个用户类型,仅在开启开发者模式时显示。它允许互斥的几个选项:内部用户, portal 门户用户(外部用户如客户)和 public 公共用户(网站匿名访客)。这一修改用于避免把内部用户放到 portal 或 public 组中一类的错误配置,那样会导致权限的丧失。 ”权限通过 security/ir.model.access.csv 文件来实现,添加该文件并加入如下内容

    id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
    access_book_user,BookUser,model_library_book,library_group_user,1,0,0,0
    access_book_manager,BookManager,model_library_book,library_group_manager,1,1,1
    ,1

    注:应注意该文件第一行后不要留有空格,否则会导致报错
    文件名必须与要载入的模型对应,第一行为列名, CSV 文件中有如下列:
    ⚫ id 是记录的外部标识符(也称为 XML ID),需在模块中唯一
    ⚫ name 是描