2014-09-25 62 views
0

我已經在UserController中編寫了此代碼,但無法獲得結果。每當我在同一瀏覽器的兩個選項卡中打開管理面板,並且如果從一個選項卡註銷,當點擊任何菜單時,從其他標籤重定向到登錄頁面。我正在使用cakephp,想知道如何過期管理員會話

function beforeFilter() 
    {  
     if(($this->request->prefix)=='admin') 
     $this->Auth->allow(); 
     $chk = $this->Session->check('Admin'); 
     $this->disableCache(); 
     if(@$this->Session->read('Admin') && ($this->request->action == 'admin_login')) 
    { 
     $this->redirect(array('action' => 'dashboard','admin' => true)); 
    } 

} 

回答

0

使用此代碼註銷操作

public function logout() { 
     $this->Session->setFlash('you have successfully logged out'); 
     $this->Auth->logout(); 
     return $this->redirect(array('controller' => 'admins', 'action' => 'login')); 
    } 

在beforeFilter在AppController中使用此代碼

public function beforeFilter() { 
    $this->Auth->loginAction = array('admin' => false, 'controller' => 'admins', 'action' => 'login'); 
    $this->Auth->logoutAction = array('admin' => false, 'controller' => 'admins', 'action' => 'logout'); 
    $this->Auth->allow('index','login','forgot','changepass'); 

} 

在控制器使用該beforeFilter功能。

public function beforeFilter() { 

     parent::beforeFilter(); 

    } 
相關問題