【发布时间】:2013-01-23 22:06:03
【问题描述】:
我正在 Zend Framework 中开发一个系统,为了安全起见,我使用 Zend_Auth 实现了用户/角色身份验证,它可以接收用户/密码信息并返回带有每个用户角色的模型用户。
在我的全局布局中,我有一个重定向到主页some/path/default/index/index 的大横幅,然后在 IndexController 中,我重定向到取决于其角色的用户主页。当我在 Windows 上工作时,我没有任何问题。但是当我在我的 Ubuntu 中工作时,Zend Framework 的 _redirect 函数会抛出一个 Doctrine's Exception
Uncaught exception 'Doctrine_Connection_Pgsql_Exception' with message 'SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: ""
但错误始于 Zend Broker。
我在前端控制器中使用插件来了解用户是否可以或不能访问某些页面。我该如何解决这个错误?
这是我的堆栈跟踪:
Fatal error: Uncaught exception 'Doctrine_Connection_Pgsql_Exception' with message 'SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: ""' in /home/project/library/Doctrine/Doctrine/Connection.php:1082 Stack trace: #0 /home/project/library/Doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement)) #1 /home/project/library/Doctrine/Doctrine/Connection.php(1006): Doctrine_Connection_Statement->execute(Array) #2 /home/project/library/Doctrine/Doctrine/Query/Abstract.php(976): Doctrine_Connection->execute('SELECT u.usuari...', Array) #3 /home/project/library/Doctrine/Doctrine/Query/Abstract.php(1026): Doctrine_Query_Abstract->_execute(Array) #4 /home/project/library/Zend/Controller/Plugin/Broker.php on line 336
提前致谢
【问题讨论】:
-
这似乎不太可能与重定向功能本身有关。堆栈跟踪向您展示了什么?
-
我更新了我的帖子以添加您想要的堆栈跟踪
-
好吧,我可以告诉你,实际的错误来自你的一个控制器插件中的
postDispatch方法——你有任何插件与 DB 或 Doctrine 一起工作吗?可能是您的 ACL 检查? -
我有一个控制身份验证的插件。如果用户具有身份,则重定向到其主页,否则将登录。但我认为问题可能是我创建的 View Helper 获取登录用户的名称。
标签: zend-framework ubuntu-12.04 doctrine-1.2 zend-auth