用户登陆

Tip

Managing Passwords

如果你让用户有权更改自己的密码,你将无法直接控制他们的密码。 你应该有一个书面的关于密码强度的政策,以保证系统的安全。

Tip

通过LDAP管理用户

使用 users_ldap 模块,用户帐户可通过LDAP目录,共同管理各种不同的公司资源。 LDAP目录中的连接参数,根据公司定义进行注册。你可以提供一个用户设置文件的模板, 新用户在第一次连接到OpenERP自动创建。

Note

LDAP

LDAP协议(Lightweight Directory Access Protocol),使您通过标准的TCP/IP网络 为各种不同的资源管理公共目录这使得该公司的用户有相同的用户名和密码来访问所有 的应用程序(如Email和Intranet)。

管理访问权限

如何管理访问信息的权限,是设置OpenERP的最重要领域之一

你打算把你具有重要意义的业务全部投入系统,但你的员工只需要看到的只是它的一部分,并可能需要改变, 甚至很少。 谁应该有什么样的权利,你如何管理?

OpenERP 管理权限的方法非常灵活,每个用户可以属于一个或多个组,你属于哪个组决定了:

  • 每个菜单项的可见性
  • 数据库中的每个表的可访问性

例如,组仓库/用户 只能访问 仓库(Warehouse) 中一些菜单,可能没有任何权限访问财务信息。 在商店工作的仓库的每个系统用户被指派为仓库/用户 组的成员。如果有些用户有其它的工作 内容,他们也会被指派为其它组的成员。

组和用户

要设置权限,你将从组的定义开始。 它是重要的,组应该是贵公司工作岗位职能的代表,而不是个别员工。

因此,如果您的财务总监,也是您的销售总监,你应该创建既是一个财务总监组和销售总监组,即使它们都是同一个人,实际都应包含该 用户.这给你在未来很大的灵活性。

你还应该创建组内有不同级别访问权限的部门区域。例如,如果你创建一个销售总监(Sales Director) 组和销售(Sales) 组,避免不同组别被赋予相同的权限.第一个可以看到所有的报表,第二个被限制看到报价单。你可以使销售总监是两个组的成员,并且 销售总监(Sales Director) 组有限制的额外权力,或者给销售总监(Sales Director) 组需要的全部权力,如果销售总监 只属于这一个组。你应该选择为你提供了最大的灵活性的方案,然后坚持下去,以保持一致性。

Tip

管理访问的灵活性

为了给你自己灵活性,你可以确保一个可信任的工作人员(可能是董事,或者财务部 门工作的某人,甚至是设置员)广泛权利以使用该系统,并因管理需求授权予指定人。

菜单的访问权限

为了感受OpenERP的权限管理, 你可以创建一个新的 Stock1 用户组,此用户组拥有 仓库 菜单下的项目. 然后你再 创建一个仓库用户,并设置为 Stock1 组的成员.

要创建新组,使用菜单 设置(Administration) ‣ 用户(Users) ‣ 用户组(Groups) 。点击新建,输入组名 Stock1,然后保存。

然后创建一个新用户关联到这里,使用 设置(Administration) ‣ 用户(Users) ‣ 用户(Users) ,输入如下:

  • 用户姓名 : Stores Person ,
  • 登录名 : stores ,
  • 密码 : stores ,
  • 菜单动作 : Menu .

在用户表单中 访问权限 的部分,增加你刚刚创建的 Stock1 组。

../../../../_images/menu_access.png

可以访问仓库菜单的组

保存这个用户,然后进入 菜单 设置(Administration) ‣ 自定义(Customization) ‣ 用户界面(User Interface) ‣ 菜单项目(Menu Items) , 取得菜单的列表,使用搜索 菜单 字段过滤列表获得 仓库 菜单项目。在这个表单的菜单明细里,增加 Stock1 进入 字段。从现在开始,只有 仓库管理/主管 , 仓库管理/用户 `` \ and \ ``Stock1 组的成员能 够在他们的主菜单列表中看到这个菜单项。

Tip

菜单结构

由于菜单是分层的,这样就不需要隐藏下级菜单:一旦你用这样的方式设置隐藏 仓库(Warehouse),所有下级菜单对其它的组变得不可见。

Tip

安全

这种管理菜单访问的方法并不能保证阻止用户用其它的方式到达系统中隐藏的业务对象。 例如,隐藏发票菜单不会阻止用户通过采购和销售订单的发票到达,或者通过猜测URL。

为了有效的安全管理,您必须使用在下一节介绍的对象的访问权限管理的方法。

Note

初始的访问设置

在初始设置中,作为 系统管理 / 设置 组一员,OpenERP的 管理 级别用户拥有主菜单下 所有部分的设置菜单权限。这是惯例。 例如, 销售 ‣ 设置 ,出现在管理员的菜单中。对 其他用户,只有:menuselection:销售 –> 设置 以外的菜单可见。 同样,主菜单中的 设置 ,按照惯例,只有 设置 / 设置 组的成员的用户可见。

对象的访问权限

菜单访问权限决定了谁能访问哪个菜单,但是没有定义你能够在菜单里能做什么.

对象的权限管理,让你能够定义用户对数据的操作类别.对象的权限管理方式跟菜单权限管理有相同的结构。

Note

对象

一个对象类似系统中的一个文档. 对象被关联到数据库的表,或者是其它概念,比如字段函数,其它对象的继承, 或者赋予他们行为的类方法

如果对象没有被指派给任何组,所有用户是有无限制的权限访问.相反地,一个对象被设定了访问控制,用户必须成为组成员 才可以拥有适当的权限.

你必须始终确保你没有锁定 系统管理/访问权限组 对任何对象的”管理和设置”的权限,例如 ir.model.access 模型

你能独立管理4种访问模式:

  • 读访问 : 组成员能读取对象数据,
  • 创建 : 组成员能在对象里创建一个新纪录,
  • 写入 : 组成员能修改对象中记录的内容,
  • 删除 : 组成员能删除对象中的记录.
../../../../_images/access_control.png

会计/管理员 组的发票访问控制

To configure access rights on an OpenERP object, use the menu Administration ‣ Security ‣ Access Controls List and click New or choose an existing one and click Edit. You give a Name to the access control, select a Group, and the Object, then check the checkbox corresponding to each of the four Access modes.

要设置OpenERP 对象的访问权限,使用菜单 设置(Administration) ‣ 安全设定(Security) ‣ 访问控制列表(Access Controls List) ,然后点击 新建 或者选择已经存在的一个再点击 编辑 按钮( 在每一行的前面)。你要给出一个访问控制的 名称 ,选择一个 Group` 组 和:guilabel:对象 ,然后为四种 访问 模式逐一点击相应的复选框。编辑完成后,点击尾部的 保存 图标按钮 。

If you do not specify any group in the access rules, the rule is applied to all groups. So to remove access to an object for all users you could create a rule:

如果你在访问规则不指定任何组,该规则将应用到所有的组。因此要去掉所有用户对一个对象的访问权限,你要建立这样的一条规则:

  • 定义指定对象,
  • 没有关联至任何组,
  • 然后,你能对同样的对象创建附加的规则给某些特定组特别的权限

You can then create additional rules on the same object to give specific rights to certain groups.

对象的记录规则

记录规则决定了谁能访问这个对象,依赖于针对特定对象的规则集合。你能管理四种独立的对象访问模式:

You can manage four access modes on objects independently, depending on the test:

  • 读访问 : 组成员能读取对象数据,
  • 创建 : 组成员能在对象里创建一个新纪录,
  • 写入 : 组成员能修改对象中记录的内容,
  • 删除 : 组成员能删除对象中的记录.

To configure a rule on an object, use the menu Administration ‣ Security ‣ Record Rules. The fields in the ir.rule object describe:

要设置对象上的规则,使用菜单 Administration ‣ 安全设定 ‣ 记录规则ir.rule 对象中的字段领域描述:

  • 对象 : 规则在哪个对象上

  • 名称 : 规则的名称

  • 全局 : 如果全局 被选中,这条规则将应用到所有的组,如果未选中,这条规则只应用到为此选择的组。

  • 过滤条件 : 对象上所有验证条件的列表。通过一组 元组列表作为python表达式进行设定。

    • 如果有多个测试在相同对象上面,他们将用 AND 操作符组合,根据规则得到满意结果。
    • 如果对象上有多个验证条件,可能根据需要设置关联方式为and的操作符组合如果有多个 规则在在相同对象上面,将使用 OR 操作符组合
  • 访问模式 : 读,写,创建,删除如前所述

    • 如果只有一个访问模式被选中,只有这个模式被应用
    • 如果他们都被选中,所有的访问模式都将被应用
它们都可以不选中,但至少有一个访问模式被选中。如果所有这些都未选中,将抛出一个异常。

For example : We can have a rule defined on res.partner object, which tests if the user is the dedicated salesman of the partner [('user_id', '=', user.id)]. We check only the create and write access modes and keep other access modes unchecked.

例如:如果 res.partner 对象上有个规则,测验用户是不是业务伙伴的专职销售员, [('user_id', '=', user.id)]。我们只检测创建和写访问模式,保持另外的访问模式为不选中。

This would mean that a user in the group for which the rule is applied can only create/write records where he himself serves as the dedicated salesman, and cannot create/write records where he is not the dedicated salesman. As other access modes are unchecked, the user can read/delete the records of partners where he is not the dedicated salesman.

这就意味着 ,在他自己的服务器里,作为专职销售员,被应用这条规则的组里的用户 只能创建和写他自己的记录。 那些不是专门的销售人员就不能创建/写入记录。 这意味着这个规则只允许组中为专职销售员的用户进行创建与写入,组中非专职销售员则不能创建/写入记录。至于其它模式的用户(不是一个专职销售员)能进行读和删除的操作. 记录规则也可以在用户-组表单中的 访问权限进行定义(只能为指定的组定义)。

修改历史记录

../../../../_images/view_log.png

供应商历史记录

Each record in an OpenERP database carries a note of its history. You can find out who it was created by and when that occurred, and who last modified it and when that occurred. Click the View Log link at the right of any form in the web client to display a dialog box showing this information, as shown in the figure 供应商历史记录. It can help you identify who to contact if there are any problems with the data in the records.

OpenERP数据库的每一条记录带有其历史的说明。能找出什么时候由谁创建的,以及谁什么时候最后修改了。 查看历史记录,首先要进入开发者模式(点击右上角的感叹号按钮“关于”,再点击 激活开发者模式),在任意表单窗口标题右侧的调试视图选择框中点击“查看日志”项目,出现一个对话框显示这些信息。如图 供应商历史记录.

译注 上面这段根据实际情况重写了 by ccdos

“供应商历史记录”所示。如果记录的数据有任何问题,它能帮你识别跟谁有联系 。

Tip

审计跟踪

OpenERP有一个审计跟踪模块(模块名称是:audittrail)跟踪线索,可以用来跟踪一 个或多个对象的任何或所有的变化。这是很有用的工具,但应谨慎使用,因为它会在数据库中产 生巨量的数据.