Php Zend_Auth->;getStorage->;write()数据对象丢失
我对我的身份验证数据越来越着迷了 当有人登录我的应用程序时,我的authcontroller将用户数据存储在Zend_Auth存储中Php Zend_Auth->;getStorage->;write()数据对象丢失,php,zend-framework,zend-auth,Php,Zend Framework,Zend Auth,我对我的身份验证数据越来越着迷了 当有人登录我的应用程序时,我的authcontroller将用户数据存储在Zend_Auth存储中 class AuthController extends Zend_Controller_Action { ... public function loginAction() { ... $userMapper = new Application_Model_UsersMapper(); $user = $userMapper-
class AuthController extends Zend_Controller_Action
{ ...
public function loginAction()
{ ...
$userMapper = new Application_Model_UsersMapper();
$user = $userMapper->fetchById($adapter->getResultRowObject()->id);
$this->auth->getStorage()->write($user);
}
}
在此之后,我创建了一个插件,将用户权限(存储在$userMapper返回的user对象中)添加到Acl系统中
问题是,当我调用Zend_Auth->getInstance()->getIdentity()时,我只找到用户名,而不是整个对象 这是因为标识实际上是用户名(在您的情况下)。如果要获取整个对象,可以按如下方式获取:
$user = $this->auth->getStorage()->read();
另一个要考虑的是ZDENYAUTH的默认存储是一个会话,所以如果它被附加到一些其他资源(如DB等)/P>,则可能需要序列化该对象。
希望这有帮助:)这是因为标识实际上是用户名(在您的情况下)。如果要获取整个对象,可以按如下方式获取:
$user = $this->auth->getStorage()->read();
另一个要考虑的是ZDENYAUTH的默认存储是一个会话,所以如果它被附加到一些其他资源(如DB等)/P>,则可能需要序列化该对象。
希望这有帮助:)我已经解决了我的问题!mysql配置中出现错误。read()函数,在存储器中找不到任何内容,返回用户名。谢谢你的帮助。我已经解决了我的问题!mysql配置中出现错误。read()函数,在存储器中找不到任何内容,返回用户名。谢谢你帮助我。无事可做;我已将$this->auth->getIdentity()替换为$this->auth->getStorage()->read(),但结果总是一样的。最奇怪的是,我刚刚在本地主机上复制了我服务器上的所有代码,效果很好!无事可做;我已将$this->auth->getIdentity()替换为$this->auth->getStorage()->read(),但结果总是一样的。最奇怪的是,我刚刚在本地主机上复制了我服务器上的所有代码,效果很好!var_转储$user返回什么?代码似乎没问题。如何添加用户权限,请向其中添加代码。var_转储$user返回什么?代码似乎没问题。如何添加用户权限,请添加代码。