2012-12-05 87 views
1

我正在使用cakePHP 2,當我嘗試登錄到應用程序時,我的一位客戶遇到了一個奇怪的問題。因此,這裏有個故事:她在數據庫中設置了一個帳戶,我可以使用她的帳戶信息登錄,但她不能。她沒有顯示錯誤(如錯誤的電子郵件/密碼)。 當她按登錄時,她再次登錄登錄表單。CakePHP 2 Auth在嘗試登錄時什麼都不做什麼

所以,在我AppController.php

public $components = array(
    'Acl', 
    'Auth' => array(
       'authorize' => array('Actions' => array('actionPath' => 'controllers')), 
       'authenticate' => array('Form' => array('fields' => array('username' => 'email'))) 
    ), 
    'RequestHandler', 
    'Session' 
); 

public function beforeFilter() { 
    $group = $this->Auth->user('Group.name'); 
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login'); 
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login'); 

    if ($group == 'customer') { 
     $this->layout = "customer"; 
     $this->Auth->loginRedirect = array('controller' => 'overviews', 'action' => 'index'); 
    } 
    else { 
     $this->layout = "default"; 
     $this->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'index'); 
    } 
} 

在我的配置/ core.php中

Configure::write('Session', array(
    'defaults'   => 'cake', 
    'checkAgent'  => false, 
    'timeout'   => '120', 
)); 


Configure::write('Security.level', 'low'); 

我真的不知道是哪裏的問題可能是......我不能在我自己的電腦上重現此問題。

編輯:UsersController.php登錄()

public function login() { 
    $this->layout = 'login'; 
    if ($this->request->is('post')) { 
     if ($this->Auth->login()) { 
     $this->redirect(array('controller' => 'pages', 'action' => 'index')); 

     } else { 
      $this->Session->setFlash('Vos identifiants sont incorrectes.'); 
     } 
    } 
} 
+0

在'Users'控制器中發佈登錄操作的代碼。也許問題在那裏。非常重要的問題:**所有用戶都有這個問題或只有這個問題嗎?** –

+0

只有一個用戶來自特定的計算機(mac)。我更新信息 – kdelemme

回答

0

嘗試刪除手動從登錄操作重定向:

$this->redirect(array('controller' => 'pages', 'action' => 'index')); 

您已經設置了驗證組件的loginRedirect財產。

否則這很奇怪。要求用戶清除所有高速緩存 - Cookie +高速緩存。 另請檢查服務器上的所有tmp目錄是否可由WebServer用戶寫入 - 這包括系統tmp目錄。

對此文章發表評論,以便我們可以繼續嘗試解決此問題。它指向一個客戶端問題,但你永遠不知道。 :D

+0

所以我試圖刪除手動重定向,但是當我嘗試登錄時,沒有任何事情完成(我再次登錄登錄頁面)。我還要求用戶清除包括cookie在內的所有高速緩存。但沒有解決問題。 – kdelemme

+0

@kdelemme用戶瀏覽器是什麼?這真是晦澀難懂 –

+0

她嘗試過使用Chrome和Safari。 – kdelemme