Symfony sfGuardPlugin密码恢复

时间:2011-02-23 12:34:01

标签: php database passwords symfony1 recovery

我支持在symfony上构建的网站。某些“管理页面”存在问题。

虽然通过阅读日志和比较最近的备份不太了解整个事情,但我认为我能够解决问题(一些开发人员删除了一条路线,但没有修复模板)。

我没有该网站的管理员密码,但拥有对服务器的root访问权限以及对数据库的超级访问权限(在本例中为postgres)。

您能否在不知道当前密码的情况下帮助我创建自己的帐户?

免责声明:我对PHP的OOP界面知之甚少,因为我不是程序员,而是系统管理员。

修改

symfony version 1.0.16

2 个答案:

答案 0 :(得分:4)

尝试登录服务器并切换到Symfony项目的根目录。那里可能有一个“symfony”脚本/链接(详细信息取决于您的操作系统以及Symfony的设置方式;您可能只需运行./symfony而不需要php symfony)。运行此命令以查看此基础知识是否有效:

php symfony

如果可行,您应该获得可以执行的任务列表。如果你使用的是sfGuardPlugin,你会看到一些像guard:create-user这样的任务。

要获取有关任务的更多信息,请尝试以下操作:

php symfony help guard:create-user

但基本上,假设一个相当现代的Symfony安装和插件,尝试类似:

php symfony guard:create-user --env=prod newusername newpassword

( - env = prod选项在生产环境中创建用户,这可能就是你想要的。)

如果您想要执行超级用户任务,请尝试执行此操作:

php symfony guard:promote newusername

这将为新用户提供超级管理员权限。

您可能还会找到一个guard:change-password任务,它只会重置给定用户的密码。

答案 1 :(得分:1)

我最终编辑了名为:

的文件
plugins/sfGuardPlugin/lib/validator/sfGuardUserValidator.class.php

这是进行身份验证的地方。 我添加了几行来绕过已经创建的用户的实际密码检查。