我对ZF2很新,我试图找到一种简单的方法,允许登录链接隐藏在用户登录的视图中,并在用户注销时再次显示。我已经看过ZF2的ACL示例,但我仍然有点困惑,我不确定这是否真的是实现这么简单的事情所需要的。
如果有人可以分享一些关于如何做到这一点的知识,我将永远是伟大的。谢谢
答案 0 :(得分:2)
可以帮助您解决此问题的标准Identity view helper。如果您将身份验证服务添加到服务管理器,例如在您的模块config/module.config.php
中,这将开箱即用:
/* Some configuration omitted */
return array(
'service_manager' => array(
'Zend\Authentication\AuthenticationService' => function($sm) {
$authService = new \Zend\Authentication\AuthenticationService();
$authService->setStorage(new \Zend\Authentication\Storage\Session('user', 'details'));
return $authService;
},
),
);
然后你可以在你的视图脚本中这样做:
if ($this->identity() == null) {
// User is not logged in; show login link here
}
else {
// User is logged in; show profile link here or do nothing
}