【发布时间】:2012-02-17 05:11:20
【问题描述】:
我正在尝试使用 symfony 1.4 (Propel) 安装 sfGuard 插件。 我知道如何安装它并且它运行良好(我能够注册、登录和注销)。
但是一旦我再次清除缓存,我就无法登录,并且出现此错误:
PHP 致命错误:在非对象上调用成员函数 getId() plugins/sfGuardPlugin/lib/user/sfGuardSecurityUser.class.php 上线 81、推荐人:http://localhost/index.php/login
我不确定我做错了什么,但不知何故我无法让它再次工作。我尝试卸载并重新安装插件。但同样的错误。
我已根据文档修改了我的 app.yml、settings.yml、routing.yml。我还修改了apps/myapp/lib/myUser.class.php 以扩展 sfGuardSecurityUser。
表单提交进入文件plugins/sfGuardPlugin/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php,在$this->getUser()->signIn($values['user'],...)函数调用上form->isValid后失败。
我验证了$values['user'] 具有来自表单的正确值。 signIn 函数依次调用:$this->setAttribute('user_id', $user->getId(), 'sfGuardSecurityUser');
这就是它无法将$user 作为对象的地方,它仍然是我在表单中传递的“用户名”。
感谢任何帮助。 谢谢!
【问题讨论】:
标签: symfony1