使用CakePHP包含登录/注销链接的最佳方法是什么?

时间:2012-03-05 11:00:28

标签: cakephp

我想把它放在AppController中,但这意味着我必须在每个视图文件中都有相同的代码。我想将它放在标题中,以便它可以在每个视图上。我还希望它背后有一些逻辑,如果我登录然后只显示已注销的链接和我的用户菜单。同样,如果我没有登录,则显示注册和登录链接。任何人都可以帮我指点或指向正确的方向吗?谢谢!

2 个答案:

答案 0 :(得分:6)

//layout .ctp

<div class="header">
<?php
if($this->Session->read('Auth')) {
   // user is logged in, show logout..user menu etc
   echo $this->Html->link('Logout', array('controller' => 'users', 'action' => 'logout')); 
} else {
   // the user is not logged in
   echo $this->Html->link('Login', array('controller' => 'users', 'action' => 'login')); 
}
?>
</div>

是一种方式。如果代码位于layout中,则会显示在每个view中,从而取消冗余代码。

答案 1 :(得分:1)

对于Cake 3,你需要使用它:

$this->request->session()->read('Auth')
相关问题