是否有一种简单/推荐的方式让用户使用auth.profile()
生成的表单更改密码?我正在查看gluon / auth.py中的def profile()
代码,而table_user[passfield].writable = False
行表明此表单不用于更改密码,但它似乎应该具有此功能。
答案 0 :(得分:1)
web2py的Auth系统包含一个单独的Auth.change_password()
方法,专门用于更改密码(而不是仅包含一个密码字段,它还包括旧密码的字段和确认新密码)。在脚手架应用程序中,可以通过/ default / user / change_password访问它,它作为菜单选项包含在auth.navbar()
中。
如果您想要一个包含配置文件和密码更改功能的表单,则必须编写自己的自定义操作代码。您只需通过SQLFORM(db.auth_user)
创建一个包含所有用户字段(包括密码字段)的表单。但是,如果您要求然后验证旧密码并确认新密码,则需要自定义表单并自行编写验证逻辑代码。