2011-06-14 355 views
-1

我正在編輯某人在CakePHP中製作的網站,但我沒有任何Cake的經驗。我正在閱讀手冊,但發現很難理解,所以我想在這裏發佈一個問題,看看我能否得到任何快速答案。CakePHP登錄系統

我認爲這個代碼被用於顯示登錄框,你可以只用用戶名test,密碼123123

var $components = array("Auth", "Acl"); 

function beforeFilter(){ 
    $this->Security->loginOptions = array(
    'type' => 'basic', 
    'realm' => 'Authenticate Emergency Response Center' 
); 
$this->Security->loginCredentials = array(
    'test' => '123123' 
); 
$this->Security->requireLogin(); 
    $this->_bindToSite(); 
    parent::beforeFilter(); 
} 

我要在日誌中框顯示仍登錄,但我想自動使用來自數據庫的信息填充loginCredentials數組。我有一個名爲'operators'的表,其中包含'user_id'和'password'字段。

有人能告訴我如何改變上面的代碼以允許存儲在操作員表中的任何用戶名/密碼登錄嗎?

感謝所有幫助

回答

1

創建數組從數據庫中,並設置$this->Security->loginCredentials等於你的陣列。

1

你可以把大部分的努力留給CakePHP的Auth組件,但是如果你想使用默認的'User'以外的模型,你只需要在beforeFilter()中設置它。在app\目錄中,最好的做法可能是app_controller.php

function beforeFilter(){ 
    $this->Auth->userModel = 'Operator'; 
    $this->Auth->fields = array(
     'username' => 'user_id', 
     'password' => 'password' 
    ); 
);