0

我对 smyfony 还是很陌生,我整天都在玩那个 sfDoctrineGuard 插件。它大部分都在工作。我只是遇到了 forgot_password 功能的问题。

其实我都是按照插件里的自述文件做的。

问题是:

在 security.yml 我设置

默认值:is_secure:true

显然在模块 sfGuard 中有一个 security.yml 是这样的:

安全:is_secure:假

登录:is_secure:假

注销:is_secure:假

这是有道理的,否则登录站点将无法访问。

它似乎不适用于 forgot_password 功能:

路由.yml

sf_guard_signin:网址:/登录参数:{模块:sfGuardAuth,动作:登录}

sf_guard_signout: url: /logout param: { module: sfGuardAuth, action: signout }

sf_guard_forgot_password: url: /forgot_password 参数: { 模块: 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

忘记密码:is_secure:假

在 sfGuardForgotPassword 模块的 config 目录中。但这似乎不起作用。

如果我把它放在全局 security.yml 中,它也不起作用:-(

有人有线索吗?

4

3 回答 3

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]
于 2012-01-31T18:54:31.890 回答
0

插件中缺少忘记密码功能。我对代码进行了一些更改以添加到功能中。我将密码更改为可逆加密,以便用户可以通过电子邮件发送密码。如果有人想看代码,请告诉我。我们可以分叉一个 git repo 并一起工作。有用。

于 2012-09-14T04:02:06.370 回答
0

您可以为此使用sfForkedDoctrineApplyPlugin。工作良好:)

于 2012-01-31T10:19:51.310 回答