如何为具有特定条件的用户提供访问权限?

时间:2017-10-12 13:38:16

标签: security openerp odoo-10 access-rights

如果有四个用户创建了四条记录。 Manager可以查看所有用户的所有记录。但是用户不应该能够查看其他用户的记录。

user - 只能创建/查看/编辑他/她自己的记录。

这是我的需要。

提前谢谢你。

2 个答案:

答案 0 :(得分:0)

你需要创建ir.rules。例如,在你的情况下,它将是这样的:
对于管理员:

<record id="manager_rule" model="ir.rule">
    <field name="name">My first rule</field>
    <field name="model_id" ref="model_your_model"/>
    <field name="domain_force">[(1,'=',1)]</field>
    <field name="groups" eval="[(4,ref('your_manager_group'))]"/>
</record>

对于其他用户:

<record id="others_rule" model="ir.rule">
    <field name="name">My second rule</field>
    <field name="model_id" ref="model_your_model"/>
    <field name="domain_force">[('user_id','=',user.id)]</field>
    <field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>

有关访问规则的详细信息,您可以访问odoo_securityaccess_rules

我希望这能帮到你!

答案 1 :(得分:0)

使用像

这样的域解决了您的问题

EG。  const ffi = require('ffi'); const ArrayType = require('ref-array'); const ref = require('ref'); const StringArray = ArrayType('string') const test = ffi.Library('test', { 'run': [ 'int', [StringArray] ] }); console.log(test.run(['a', 'b', ref.NULL])); // -> 2

我希望它可以帮助你