将密码更改字段添加到由auth.profile()创建的表单中?

时间:2016-05-21 21:39:41

标签: web2py

是否有一种简单/推荐的方式让用户使用auth.profile()生成的表单更改密码?我正在查看gluon / auth.py中的def profile()代码,而table_user[passfield].writable = False行表明此表单不用于更改密码,但它似乎应该具有此功能。

1 个答案:

答案 0 :(得分:1)

web2py的Auth系统包含一个单独的Auth.change_password()方法,专门用于更改密码(而不是仅包含一个密码字段,它还包括旧密码的字段和确认新密码)。在脚手架应用程序中,可以通过/ default / user / change_password访问它,它作为菜单选项包含在auth.navbar()中。

如果您想要一个包含配置文件和密码更改功能的表单,则必须编写自己的自定义操作代码。您只需通过SQLFORM(db.auth_user)创建一个包含所有用户字段(包括密码字段)的表单。但是,如果您要求然后验证旧密码并确认新密码,则需要自定义表单并自行编写验证逻辑代码。