sfDoctrineGuard和忘记密码功能

时间:2012-01-30 18:04:49

标签: php symfony1 sfdoctrineguard

我对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中,它就无法工作: - (

有人知道吗?

3 个答案:

答案 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并一起工作。它有效。