0
是否有一個簡單的/推薦的方式讓用戶更改密碼與auth.profile()
產生的形式?我正在研究gluon/auth.py中的def profile()
代碼,並且table_user[passfield].writable = False
行建議此表單不用於更改密碼,但它似乎應該具有此功能。將密碼更改字段添加到由auth.profile()創建的表單中?
是否有一個簡單的/推薦的方式讓用戶更改密碼與auth.profile()
產生的形式?我正在研究gluon/auth.py中的def profile()
代碼,並且table_user[passfield].writable = False
行建議此表單不用於更改密碼,但它似乎應該具有此功能。將密碼更改字段添加到由auth.profile()創建的表單中?
的web2py的驗證系統包括一個單獨的Auth.change_password()
方法具體地用於改變密碼(而不是包括只是一個單一密碼字段,它也包括用於舊密碼字段和確認新密碼)。在腳手架應用程序中,可以通過/ default/user/change_password進行訪問,它作爲菜單選項包含在auth.navbar()
中。
如果您想要一個包含配置文件和密碼更改功能的表單,您必須編寫自己的自定義操作。您可以通過SQLFORM(db.auth_user)
簡單地創建一個包含所有用戶字段(包括密碼字段)的表單。但是,如果您想要求並驗證舊密碼並確認新密碼,則需要自定義表單並自行編寫驗證邏輯。
謝謝,安東尼。根據站點的設計,用戶通常會發現,在配置文件表單中查找密碼更改功能要比查找單獨的菜單項更加直觀,這意味着「Auth.change_password()」不是最佳選項。從開發人員的角度來看,'auth.profile()'形式肯定比'SQLFORM(db.auth_user)'方便,但我可以理解這種情緒是否會增加'auth.profile( )'通過提供一個選項來添加一個密碼字段。 – Boa
我不反對。如果要將該選項添加到'auth.profile'功能,則可能會接受拉取請求。 – Anthony
謝謝 - 我可能會繼續這樣做。 – Boa