如何在openerp中设置用户角色?

时间:2014-03-05 05:28:33

标签: openerp openerp-7

我必须设置两个用户角色CEO和总经理

他们的许可如下

1)采购申请

- > CEO - 读,写,创造

- >总经理 - 阅读

2)股票

- > CEO - 读,写,创造

- >总经理 - 读,写,创造

我怎么能在openerp中做到这一点?

3 个答案:

答案 0 :(得分:2)

OpenERP中的安全性:用户,群组 用户和用户角色是OpenERP内部安全性的关键点。 OpenERP提供了几种与用户角色相关的安全机制,所有这些都在OpenERP Server中实现。它们在最低的服务器级别实现,即ORM引擎。 OpenERP区分了三个不同的概念:

用户:由其登录名和密码标识的人。请注意,公司的所有员工不一定是OpenERP用户;用户是访问该应用程序的人。 group:具有一些访问权限的一组用户。组授予其对属于该组的用户的访问权限。例如:销售经理,会计等 安全规则:定义给定组授予其用户的访问权限的规则。安全规则附加到给定资源,例如Invoice模型。 安全规则附加到组。用户被分配到多个组。这为用户提供了附加到其组的权限。因此,通过管理用户组以及添加或修改附加到这些组的安全规则来完成控制用户角色。

用户

用户代表使用OpenERP的自然人。它们使用登录名和密码识别,他们使用OpenERP,他们可以编辑自己的首选项,...默认情况下,用户没有访问权限。我们向用户分配的组越多,他或她就越有权执行某些操作。用户可能属于多个组。

用户组

这些组确定对不同资源的访问权限。用户可能属于多个组。如果他属于多个组,我们始终使用对所选资源具有最高权限的组。一个组可以继承另一个组的所有权利

图3显示了如何在Web客户端中显示组成员身份。用户属于Sales / Manager,Accounting / Manager,Administration / Access Rights,Administration / Configuration和Human Resources / Employee groups。这些组定义了用户访问权限。

图3:给定用户的组成员资格示例

版权

安全规则附加到组。您可以在组级别分配多个安全规则,每个规则属于以下类型之一:

访问权限是对象的全局权限, 记录规则是记录访问过滤器, 字段访问权限, 工作流转换规则是操作权限。 您还可以定义全局规则,即它们适用于所有用户,不分青红皂白地应用于它们所属的组。例如,多公司规则是全球性的;用户只能看到他或她所属公司的发票。

关于配置,很难有适合所有应用程序的默认通用配置。因此,与SAP一样,OpenERP默认情况下预先配置了最佳实践。

访问权限

访问权限是定义用户可以对特定对象进行访问的规则。根据文档类型或模型定义这些全局权限。权利遵循CRUD模型:创建,读取(搜索),更新(写入),删除。例如,您可以在发票创建上定义规则。默认情况下,向对象添加权限会赋予该特定对象的所有记录的权限。

图4显示了会计/会计组的一些访问权限。用户对某些对象具有一些读访问权限。

图4:某些对象的访问权限。

记录规则

访问对象时,会根据记录规则过滤记录。因此,记录规则或访问过滤器是限制组可以访问的对象的记录的过滤器。记录规则是每个记录必须满足以创建,读取,更新(写入)或删除的条件。不符合约束条件的记录将被过滤。

例如,您可以创建规则来限制组,以便该组的用户可以看到他或她被标记为推销员的商机。规则可以是salesman = connected_user。使用该规则,只会显示尊重规则的记录。

现场访问权限

7.0版中的新功能。

OpenERP现在支持字段级别的实际访问控制,而不仅仅是在视图侧。以前,已经可以在元素(或实际上是大多数视图元素)上设置groups属性,但仅限于化妆品效果:元素在客户端变得不可见,同时仍然完全可用于RPC的读/写访问水平。

从OpenERP 7.0开始,现有行为将保留在视图级别上,但所有模型字段都可以使用新的组属性,从而在每个字段上引入模型级访问控制。语法与视图级属性相同:

_columns = {     ' secret_key&#39 ;: fields.char(' Secret Key',groups =" base.group_erp_manager,base.group_system")  } 视图级别组属性存在重大差异:限制模型级别的访问权限实际上意味着该字段对于不属于授权组的用户将完全不可用:

受限制的字段将从所有相关视图中完全删除,而不仅仅是隐藏。记住这一点非常重要,因为这意味着客户端根本无法获得字段值,因此不可用,例如用于on_change调用。

作为对fields_get()或fields_view_get()的调用的一部分,不会返回受限制的字段。例如,这是为了避免它们出现在可用于高级搜索过滤器的字段列表中。这并不妨碍通过直接查询ir.model.fields来获取模型字段的列表,这很好。

任何直接读取或写入受限字段值的尝试都将导致AccessError异常。

作为上一项的结果,受限制的字段将无法在搜索过滤器(域)或需要读取或写入访问权限的任何内容中使用。

很有可能在模型和视图级别为同一字段设置组属性,即使使用不同的值也是如此。两者都会起作用,模型级限制优先,并在限制情况下完全删除字段。

请注意

与此功能相关的测试位于openerp / tests / test_acl.py。

工作流转换规则

工作流转换规则是将某些操作限制为某些组的规则。这些规则处理在工作流程中从一个步骤转到另一个步骤的权限。例如,您可以限制验证发票的权利,即从草稿操作转到经过验证的操作。

菜单访问

在OpenERP中,可以使用用户组授予对菜单的访问权限。每个用户都可以访问未授予任何组的菜单。管理面板中可以定义可以访问给定菜单的组。

但是,应该注意的是,使用组来隐藏或提供对菜单的访问更多地属于人体工程学或可用性领域,而不是安全领域。将规则放在文档上而不是在菜单上放置组是最佳实践。例如,隐藏发票可以通过修改发票对象上的记录规则来完成,它比隐藏与发票相关的菜单更有效,更安全。

查看自定义

在OpenERP中可以基于组自定义视图。您可以根据组规则放置规则以显示某些字段。但是,与菜单访问自定义一样,出于安全考虑,不应考虑此选项。这种自定义视图的方式更多地取决于可用性。

管理

安装特定的OpenERP实例时,默认情况下会安装特定的第一个用户。第一个用户是超级用户或管理员。默认情况下,管理员为每个现有组以及在新模块安装期间创建的每个组添加了访问权限。他还可以访问通过管理菜单访问的特定管理界面,允许管理OpenERP。

管理员有权管理群组;他可以添加,创建,修改或删除组。他还可以修改用户和组之间的链接,例如添加或删除用户。他还管理访问权限。有了这些权限,管理员就可以精确地定义OpenERP的每个用户的安全访问。

正常组和超级用户之间存在用户组。这些组是管理/配置和管理/访问权限。它为这些组的用户提供了配置访问权限的必要权限。

答案 1 :(得分:1)

设置 - >用户&团体将为您提供服务

您可以为用户添加读取,写入,删除,创建权限。组

您也可以添加域名过滤器。

您还可以添加规则

答案 2 :(得分:1)

您可以按照此操作创建

转到设置 - >组 - >创建组

并指定访问权限 您可以创建自己的访问权限