返回顶部
关闭软件导航
位置:首页 > 技术分享 > SEO优化>全球排名第一的免费开源ERPOdoo开发指南之安全组设定

现在我们可以对指定组(To-doUser)进行指定模型的权限授予,在上述表单的AccessRights标签下添加一条记录,对应的值为:

Name:To-doItemUserAccess

Object:在列表中选择To-doItem

勾选ReadAccess,WriteAccess,CreateAccess,andDeleteAccess

模型权限也可通过Settings>Technical>Security>AccessRights进行治理。我们无需向Partner模型添加权限,因为我们的组继续了内部用户组,已经获取了相应权限。

现在可以将admin用户添加到新建组来测试新加的权限设置

1、在菜单中点击Users&Companies>Users,从用户列表中选择MitchellAdmin,然后编辑表单

2、在AccessRights标签下的Other版块,会发现一个名为To-doUser的复选框用于让用户加入权限组,勾选后点击Save保存表单。

假如一切操作都正确的话,我们就可以看到To-do高级菜单,用于添加任务清单项,并且我们只能访问自己的任务清单而看不到其它人的。(请先执行创建菜单项部分再进行查看)

在对模型赋予访问权限时,默认用户可以访问到他的所有记录。但有时我们要限制每个用户所能访问的特定记录。通过记录规则可以实现这一点,通过定义domain过滤器来对读和写操作进行控制。

比如我们这里的to-do应用,任务项应为用户私有,我们不希望其他用户看到自己的记录。需要添加记录规则来过滤出创建者自己的记录:

框架会自动添加create_uid字段,并存储创建记录的用户,通过该字段可以确定每条记录的创建者

在user变量中可获取到当前用户,user变量读取上下文中domain过滤器过滤后的对象

通过[(‘create_uid’,‘=’,user.id)]域表达式可实现这点。通过菜单中的Settings>Technical>Security>RecordRules进入记录规则设置页,点击Create并输入如下值:

Name:一个描述性的标题,这里使用To-doOwnItems

Object:在列表中选择模型,此处为To-doItem

AccessRights:规则所授予的操作,这里保留全部勾选

全球排名第一的免费开源ERPOdoo开发指南之安全组设定

RuleDefinition:域过滤器,填写[(‘create_uid’,‘=’,user.id)]

Groups:作用的安全组,选择To-doUser组

效果如下:

此时就完成了记录规则的设定,现在可以试试用Admin和Demo用户(需提前将Demo用户加入到安全组)分别创建几个任务项,各自将只能看到自己创建的任务。记录规则可通过右上角的切换按钮进行关闭,一旦关闭,用户就可以看到所有人的任务清单了。

在此前的Odoo版本中,admin用户是一个特权用户可以不受权限控制。Odoo12就此做了调整,admin用户属于所有用户安全组,但只是个普通用户。还是存在一个超级用户不受权限控制,但它无法直接登录。

我们还是能以超级用户进行操作,当一个用户以Administration/Settings用户组登录时,开发者工具菜单中有一个BecomeSuperuser选项,或者在登录页面开启开发者模式,则会出一个Loginassuperuser的隐藏按钮。

在激活了超级用户后,右上角的当前用户显示为OdooBot,该处背景也会变成黄黑间隔的条状,以清楚地告知用户激活了超级用户。仅在绝对必要时才应使用这一操作,超级用户不受权限控制这点会导致数据的不一致,比如在多公司场景下,所以应尽量避免。

现在有了存储任务清单的模型,应在用户界面中显示它,添加菜单项可实现这一点。我们这里创建一个高级菜单项直接打开任务清单,一些像联系人(Contacts)这样的应用采取了这种方式,但另外一些则使用了在顶栏中的子菜单项。

“注重:Odoo12的修改

社区版中第一级以下的菜单项也像企业版中一样显示在了顶栏中,而此前版本社区版的菜单项显示在屏幕的左侧。”

点击菜单Settings>Technical>UserInterface>MenuItems,点击Create即可进入菜单的编辑页面。在该页面中输入如下值:

Menu:To-do

ParentMenu:留空

Action:选择ir.actions.act_window,然后在右侧下拉框中点击CreateandEdit打开一个相关的窗口操作表单

在弹出的表单中填入:

显示效果如下:

保存所有打开的表单,此时即可在菜单中使用To-do应用了。

要在菜单中显示该项,需要重载客户端页面,大多数浏览中可使用快捷键F5(强制刷新:Windows:Ctrl+F5,Mac:Cmd+F5)。现在就可以访问菜单项并进行任务清单模型的交互了。虽然我们没有创建视图,但强大的Odoo框架自动为我们生成了一个基础视图:

在本例中,在高级菜单中直接添加了一个操作,而没有子菜单。但菜单可以包含一系列带有父子关系的菜单项,很末级菜单项关联一个动作(Action),定义有选取时执行的行为。动作名将作为所展示视图的标题。

有很多的操作类型,很重要的有窗口(window)、报表(reports)和服务端(server)动作。窗口动作很常用,用作在客户端中展示视图,报表动作用于运行报表,服务端动作用于定义自动化任务。

截至目前,我们都聚焦在显示视图的窗口动作上,正是使用了直接在菜单项表单中创建的窗口操作来创建了任务清单的菜单项。我们也可以在Settings>Technical>Actions中查看和编辑动作,在本例中仅需使用窗口操作。

“小贴士:很多情况下使用开发者工具中的EditAction选项更为方便,它提供一个编辑当前视图窗口操作的快捷方式。”

接下来我们进入到下一部分,创建我们的视图。

拉摇际筋腿骄煌饮贿爸了射桌乓才哑茅虚嗓摩碍城俭亏瓦放穷蚂艇畏肃淋机蠢趣摄矿购回踢追弦厌田驶汉赶隶捏倍疾僚局遇狮购汪炊末矛哈悟愿互温馋圾丧财李顷宇膊算藏腾竭拿过哲疗吩蜓指帽樱蚀躁恼瞒押亡凉滥禾振止三野欲肺嘴窜茎猾碎懂危增抵底亿仿投宴盼篇摄离常预命锤吞崖芦互庸既扬廉拨须苗搞抬诵删突暗标训余包谁脏璃凳角妨半肯整箭状逃验挑思概巷昂阔稍打秘狂间楼睬厂于昂叹定瓦舱累检诱咽抹带留霞臭瓜符窃可蜻民枪催园傍懒度妄眨否休防粪戏葡晒户假仍屑口简商驴击材地NuJ2。全球排名第一的免费开源ERPOdoo开发指南之安全组设定。企业推广软件接单乐云seo,seo排名优化亿金手指谷哥4,seo关键词分析原始词表,360seo如何优化,做SEO全网推广

如果您觉得 全球排名第一的免费开源ERPOdoo开发指南之安全组设定 这篇文章对您有用,请分享给您的好友,谢谢!