如何在cakephp 2.x布局中添加登录/注销链接?

时间:2013-07-04 11:57:58

标签: cakephp cakephp-2.0

我正在使用cakephp 2.0创建一个网站。我想在我的布局中添加登录/注销链接。 对于登录用户,只有注销链接可见,对于访客用户,只有登录链接可见。怎么做到这一点?

3 个答案:

答案 0 :(得分:3)

假设您正在使用AuthComponent进行用户会话,您可以检查用户会话是否存在静态user方法。这也包含在the documentation中。例如:

if (AuthComponent::user()):
  // The user is logged in, show the logout link
  echo $this->Html->link('Log out', array('controller' => 'users', 'action' => 'logout'));
else:
  // The user is not logged in, show login link
  echo $this->Html->link('Log in', array('controller' => 'users', 'action' => 'login'));
endif;

答案 1 :(得分:2)

嘿,这是我在cakePHP 3.x

中的表现
 <?php
if($this->request->Session()->read('Auth')) {
   // user is logged in, show logout..user menu etc
   echo $this->Html->link(__('Log Out'), ['controller' => 'Users', 'action' => 'logout']); 
} else {
   // the user is not logged in
   echo $this->Html->link(__('Log in'), ['controller' => 'Users', 'action' => 'login']); 
}
?>

答案 2 :(得分:0)

调用注销功能,如

function logout(){
    $this->Cookie->destroy('Your Cookie name goes here');
    if($this->Auth->logout($this->data)){
        //auto redirected
    }
}