Zend Framework 2 - 登录时隐藏登录链接,反之亦然,以便注销

时间:2013-04-05 16:32:36

标签: zend-framework2

我对ZF2很新,我试图找到一种简单的方法,允许登录链接隐藏在用户登录的视图中,并在用户注销时再次显示。我已经看过ZF2的ACL示例,但我仍然有点困惑,我不确定这是否真的是实现这么简单的事情所需要的。

如果有人可以分享一些关于如何做到这一点的知识,我将永远是伟大的。谢谢

1 个答案:

答案 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
}