1

我想问一下 Zend Framework 中的会话处理。我正在使用 Zend_Session_Namespace 进行会话处理。我的问题是我应该如何以有效的方式实现这一点?此刻,我对控制器的每一个操作都进行了会话检查。

我应该如何处理例如布局文件中的会话处理,因为我现在这样做的方式(使用 sessionExists() 检查每个操作并检查是否设置了 userId)似乎非常低效和重复。

谢谢大家的支持!:)

PS如果有任何帮助,这是我用于在我的控制器中进行会话检查的功能:

 private function checkSession()
        {
            $session = new Zend_Session_Namespace("userSession");
            if(Zend_Session::sessionExists() && $session->__isset("userId"))
            {
            return true;    
            }
        else
        {
            return false;
        }
    }
4

1 回答 1

1

Joellord 发布的链接应该有所帮助。如果你需要在每个请求上运行一些东西,你应该考虑使用控制器插件——文档是一个很好的起点。

如果您实现了身份验证系统,此代码将告诉您用户是否已登录:

$auth = Zend_Auth::getInstance();
if($auth->hasIdentity()) { //做点什么...

它还可以扩展为您提供用户对象、他们的角色/权限等。

Matthew Weier O'Phinney 撰写的这篇文章是学习使用 Zend_Auth 进行基本身份验证的绝佳资源。

于 2012-08-01T16:53:48.713 回答