2011-11-02 145 views
0

我是cakePHP的新手。我正在嘗試創建一個登錄頁面。我能夠創建一個登錄頁面。我遇到登錄重定向問題。當我提交登錄憑據時,我將重定向到包含以下文本的頁面。Cakephp登錄重定向問題

甜,「App」被CakePHP烘烤! 你的tmp目錄是可寫的。 FileEngine正在用於緩存。要更改配置編輯APP/config/core.php 您的數據庫配置文件存在。 Cake可以連接到數據庫。

但是,這是不正確的。在我app_controller,我寫的代碼重定向到不同的頁面下方提到:

function beforeFilter() { 
    //Configure AuthComponent 
    $this->Auth->authorize = 'actions'; 
    $this->Auth->actionPath = 'controllers/'; 
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login'); 
    $this->Auth->loginRedirect = array('controller' => 'patients', 'action' => 'index'); 
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login'); 
} 

什麼我需要做的重定向到/病人/指數?

問候, 巴魯

回答

0

在config-> routes.php文件改變你的第一線,這....

Router::connect('/', array('controller' => 'patients', 'action' => 'index'));

api55是正確的,但我可以看到你的無奈所以這應該爲你即時滿足。

0

我要去引述蛋糕預定第一的一部分:

loginRedirect

的AuthComponent記得什麼控制器/動作對你 好一會之前,您需要通過 將該值存儲在會話中的Auth.redirect鍵下進行身份驗證。 但是,如果未設置此會話值(例如,如果您從外部鏈接訪問 登錄頁面),則用戶將 重定向到loginRedirect中指定的URL。

說完這個,你可能會發現,如果你來自程序中的頁面,它會在那之後去那裏。

你可以做什麼,你可以說authComponent不自動重定向,你管理這部分,怎麼樣?像這樣:

1)在beforeFilter寫在你的控制器東西登錄操作

$this->Auth->autoRedirect = false; 

2)likethis

if ($this->Auth->user()) { 
    $this->redirect('url'); 
} 

URL可以是絕對或CakePHP的數組,你可以看它在這本書中,只有在登錄驗證完成後才能執行此代碼...您可以像上次登錄嘗試成功或其他類似操作一樣執行其他任何操作

希望這對你的作品:)

+0

但是,行$ this-> Auth-> loginRedirect = array('controller'=>'patients','action'=>'index');應該在成功驗證後重定向到患者/索引權限?但是,它不會重定向到患者/指數。 – Balu

+0

它會,如果你不來自你的程序中的另一個網站,如果你嘗試訪問動作添加,那麼你將採取行動添加,如果你直接去登錄然後它會去你的loginRedirect – api55