如何在ODOO(OpenERP)中向密码添加更多安全策略

如何在ODOO(OpenERP)中向密码添加更多安全策略,openerp,odoo,openerp-7,openerp-8,odoo-8,Openerp,Odoo,Openerp 7,Openerp 8,Odoo 8,如何在用户或员工表单上添加密码策略,包括所需密码、数字(0…9)、特殊字符(@、*、…)、密码大小>6、大写字母(A…Z)等 您是否有实施此策略的解决方案?如果查看用户定义,您可以找到密码字段: 'password':fields.char('password',size=64,invisible=True,copy=False, help=“如果您不希望用户能够连接到系统上,请保持为空。”), 为了实现所需的行为,请为密码字段创建“onchange”方法,如下所示: @api.onchange

如何在用户或员工表单上添加密码策略,包括所需密码、数字(0…9)、特殊字符(@、*、…)、密码大小>6、大写字母(A…Z)等


您是否有实施此策略的解决方案?

如果查看用户定义,您可以找到密码字段:

'password':fields.char('password',size=64,invisible=True,copy=False,
help=“如果您不希望用户能够连接到系统上,请保持为空。”),

为了实现所需的行为,请为密码字段创建“onchange”方法,如下所示:

@api.onchange('password'))
def检查密码(自身):

您在其中执行必要的验证

要查看任何结果,可以创建一个名为“passwordOK”的新字段,默认为true。如果检查后密码不正常,可以将其设置为false,这样可以控制在视图中显示错误消息

要控制消息的显示,可以尝试将其添加到视图中:

attrs=“{'invisible':[('passwordOK','=',True)]”

编辑: 我将向您展示我在视图中是如何做到这一点的。这可能不是最好的解决方案,但效果很好

我使用了一个消息字符串,而不是布尔变量,如下所示:

'message':fields.text('message'),

此变量将包含您的警告消息(例如:“密码必须是字母数字”)。在用@api.onchange修饰的方法中,在验证密码安全性时为该属性赋值。 要显示消息,字段应如下所示:


如您所见,它仅在非空时显示(也将以红色显示)。当您在onchange方法中修改字段值时,Odoo将自动更新该字段值。

感谢您的回答@Chiru Constantin-Alexandru,我对Odoo比较陌生,您能否提供有关如何显示错误消息或ok消息的更多详细信息?我有点不知道怎么做…再次感谢!