2011-12-13 85 views
0

我在這裏有一個問題。我使用cakePHP的烘焙功能創建了一個cakePHP應用程序。我烘烤了我的Model,我的Controller和我的視圖(使用默認索引,添加,編輯和查看操作)。我在我的數據庫中創建了一個名爲users的小表,其中只包含三個字段(id int auto_increment主鍵,username varchar(15),password charr(40))。我遇到的問題是,當我使用Auth組件時,我永遠停留在日誌記錄頁面上(直到我把它拿出來)。我在我的函數login()和beforeFilter()中嘗試了幾乎所有東西,但都沒有成功。請任何想法嗎?CakePHP卡在Auth登錄頁面

我用的驗證組件,像這樣在我的用戶控制器:

​​

我在功能beforeFilter()嘗試過這一點,但它不工作:

function beforeFilter() { 
    $this->Auth->autoRedirect = false; 
    parent::beforeFilter(); 
} 

我甚至試圖重定向就在我的功能登錄()像這樣:

function login() { 
    $this->redirect($this->Auth->redirect()); 
} 

但是當我這樣做,我得到錯誤310:太多REDIRECTS。

我無法進入我的索引,或添加或查看頁面。請幫助?

回答

0

這段代碼有你在無限循環抓住了,因爲它使你重定向回到登錄頁面:

function login() { 
    $this->redirect($this->Auth->redirect()); 
} 

Read up here on list of Auth component variables。具體來說就是loginRedirect部分。你需要把在到您的beforeFilter功能:

function beforeFilter() { 
    parent::beforeFilter(); 
    $this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'index'); 
} 
+0

無法正常工作,我一直登錄登錄頁面。 – user765368 2011-12-13 23:20:21

2

在您所提供的代碼,你似乎沒有做任何事情,使「登錄」行動到達如果您還沒有登錄呢。

function beforeFilter() 
{ 
    parent :: beforeFilter(); 

    $this->Auth->allow('login'); 
} 

如果你不這樣做,登錄頁面已被保護,讓你重定向到...登錄頁面,讓你重定向到...登錄頁面,讓你重定向到...登錄頁面,使您重定向到...登錄頁面;-)