我对smyfony很新,我一整天都在玩那个sfDoctrineGuard插件。 它在大多数情况下都有效。我只是遇到了forget_password函数的麻烦。
实际上我根据插件中的自述文件做了一切。
问题是:在security.yml中设置
默认: is_secure:真
显然在模块sfGuard中有一个安全性,即sais:
确保: is_secure:false
登入: is_secure:false
signout: is_secure:false
这是有道理的,否则登录网站将无法访问。
BUT
它似乎不适用于forgot_password函数:
的routing.yml
sf_guard_signin: url:/ login param:{module:sfGuardAuth,action:signin}
sf_guard_signout: url:/ logout param:{module:sfGuardAuth,action:signout}
sf_guard_forgot_password: url:/ forgot_password param:{module:sfGuardForgotPassword,action:index}
sf_guard_forgot_password_change: url:/ forgot_password /:unique_key class:sfDoctrineRoute options:{model:sfGuardForgotPassword,type:object} param:{module:sfGuardForgotPassword,action:change} 要求: sf_method:[get,post]
我无法访问/ forgot_password,因为我被重新路由到/ login页面。 所以我把一个security.yml与
放在一起forgot_password: is_secure:false
在sfGuardForgotPassword模块的config目录中。 但这似乎没有用。
如果我将它放在全局security.yml中,它就无法工作: - (
有人知道吗?
答案 0 :(得分:2)
在/app/modules/sfGuardForgotPassword/config/security.yml
我有:
secure:
is_secure: true
index:
is_secure: false
change:
is_secure: false
在该应用程序的routing.yml文件中,我有:
sf_guard_signin:
url: /login
param: { module: sfGuardAuth, action: signin }
sf_guard_signout:
url: /logout
param: { module: sfGuardAuth, action: signout }
sf_guard_forgot_password:
url: /forgot_password
param: { module: sfGuardForgotPassword, action: index }
sf_guard_forgot_password_change:
url: /forgot_password/:unique_key
class: sfDoctrineRoute
options: { model: sfGuardForgotPassword, type: object }
param: { module: sfGuardForgotPassword, action: change }
requirements:
sf_method: [get, post]
答案 1 :(得分:0)
您可以使用sfForkedDoctrineApplyPlugin。工作得好:)
答案 2 :(得分:0)
插件中缺少忘记密码功能。我在代码中写了一些更改以添加到功能中。我将密码更改为可逆加密,以便用户可以通过电子邮件发送密码。如果有人想看代码,请告诉我。我们可以派一个git repo并一起工作。它有效。