OpenERP ver 7 - Security.xml的解释

Pri*_*ckZ 3 python xml openerp

<?xml version="1.0" ?>
<openerp>
    <data>
        <record model="ir.module.category" id="module_lunch_category">
            <field name="name">Lunch</field>
            <field name="description">Helps you handle your lunch needs, if you are a manager you will be able to create new products, cashmoves and to confirm or cancel orders.</field>
            <field name="sequence">16</field>
        </record>
        <record id="group_lunch_user" model="res.groups">
            <field name="name">User</field>
            <field name="category_id" ref="module_lunch_category"/>
        </record>
        <record id="group_lunch_manager" model="res.groups">
            <field name="name">Manager</field>
            <field name="implied_ids" eval="[(4, ref('group_lunch_user'))]"/>
            <field name="category_id" ref="module_lunch_category"/>
            <field name="users" eval="[(4, ref('base.user_root'))]"/>
        </record>
    </data>
</openerp>
Run Code Online (Sandbox Code Playgroud)

我现在已经在我的应用程序中遇到了安全处理问题.代码显示在这里

我也参考文档来澄清上面的xml代码.但是我在文档中对版本7没有很好的解释.我需要在下面的部分进行说明.请建议我清楚了解它

请解释

ir.module.category意味着.?

<record model="ir.module.category" id="module_lunch_category">
Run Code Online (Sandbox Code Playgroud)

model ="res.groups"的意思是.?

<record id="group_lunch_user" model="res.groups">
Run Code Online (Sandbox Code Playgroud)

需要澄清以下整线

<field name="implied_ids" eval="[(4, ref('group_lunch_user'))]"/>
Run Code Online (Sandbox Code Playgroud)

use*_*199 11

1. <record model="ir.module.category" id="module_lunch_category">
Run Code Online (Sandbox Code Playgroud)

这用于按应用程序名称(如购买,仓库或您自己的模块)创建类别.对于像特定组属于这个模块,它仅仅是一个你moudle就像你的模块名BPL然后创建一个名BPL在ir.module.category.

2. <record id="group_lunch_user" model="res.groups">
Run Code Online (Sandbox Code Playgroud)

这用于为此应用程序创建组,例如您创建用户并希望授予应用程序的此用户访问权限,然后将该组添加到您的用户.

出于安全原因的示例,您希望提供一些菜单,某些字段可以由不同的用户明智地访问,因此您可以创建组.就像你创建"USER"和MANAGER组一样.

<record model="res.groups" id="group_bpl_manager">
            <field name="name">Manager</field>
        </record>


<record model="res.groups" id="group_bpl_user">
            <field name="name">User</field>
        </record>
Run Code Online (Sandbox Code Playgroud)

您在管理员组中创建的这两个组可以访问所有菜单和所有字段,但是用户组具有有限的访问权限,因此您要为哪个用户提供完全访问权限,您可以分配管理器组和有限访问权限,然后将用户组分配给该用户.

3.<field name="implied_ids" eval="[(4, ref('group_lunch_user'))]"/>
Run Code Online (Sandbox Code Playgroud)

正如在该组的用户中定义的那样,自动继承这些组意味着当您将该组分配给任何用户时,它自动也会访问此字段implied_ids中给出的所有组.

分配给某个用户时BPL Manager组的示例,您还想在协助该组时向该用户分配许多其他组,然后在"Inherited" implied_ids字段中向该组添加许多其他组