当前位置:  开发笔记 > 编程语言 > 正文

编辑用户配置文件后更新Zend_Auth_Storage

如何解决《编辑用户配置文件后更新Zend_Auth_Storage》经验,为你挑选了2个好方法。

我有以下情况:我有用户,使用DB表进行标准认证

$authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter()); 
$authAdapter->setTableName('users'); 
$authAdapter->setIdentityColumn('user_name'); 
$authAdapter->setCredentialColumn('password'); 

当用户编辑他的配置文件时,我将其保存到Db中,但我还需要更新存储(使用标准Zend_Auth_Storage_Session).有什么简单的方法怎么做?非常感谢.



1> Akeem..:
$user = Zend_Auth::getInstance()->getIdentity();
$user->newValue = 'new value';

假设您正在更新数据库的同一语句中更新会话数据,则无需再次调用数据库.



2> Sean McSomet..:

你最好的选择是不使用Zend_Auth的存储来保存可能会改变的信息 - 默认情况下它只保存身份(有充分理由).我可能会创建一个User类,它包含所有Auth,ACL(以及可能的配置文件)功能,这些功能使用静态get_current()方法来加载存储在会话中的用户.这会绕过在将其填充到会话中时遇到的所有一致性问题,并在您实际需要性能提升时为您提供实现缓存的单点.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有