2011-05-17 16 views
2

我試圖修改Phil Sturgeon的其餘服務器以對ion-auth進行身份驗證。我改變_check_login到:用Phil Sturgeon的Rest服務器對數據庫進行身份驗證

private function _check_login($username = '', $password = NULL) 
{ 
    if (empty($username)) 
    { 
     return FALSE; 
    } 

    $this->rest->db = $this->load->database('default', TRUE); 
    $sql = 'SELECT api_key FROM users WHERE email = ?'; 
    $query = $this->rest->db->query($sql, urldecode($username)); 

    if ($query->num_rows() > 0) { 
     $user = $query->row_array(); 
    } else { 
     return FALSE; 
    } 

    // If actually NULL (not empty string) then do not check it 
    if ($password !== NULL AND $user['api_key'] != $password) 
    { 
     return FALSE; 
    } 

    //return TRUE; 
    return $user['api_key']; 
} 

我的第一個問題是,我需要做的:

$this->rest->db = $this->load->database('default', TRUE); 

在我看來,像$這個 - >休息 - >分貝因爲它的設置應該已經可以訪問構造函數但是我得到一個錯誤,說如果我不像上面那樣在_check_login中添加load-> database()行,我試圖在非對象上查詢。注:我刪除了構造函數中的if語句,它只在啓用鍵或日誌記錄時初始化數據庫連接,所以這不應該成爲問題。

我認爲第二個問題是問題1的結果。無論如何,在對REST_Controller進行更改後,我的REST控制器中的模型不再有效。我得到的錯誤是:

一個PHP錯誤遇到

嚴重性:注意

消息:未定義的屬性:用戶:: $ DB

文件名:核心/型號。 PHP

行號:50

當我在我的模型中的一個方法中調用方法時,這似乎正在發生。

希望這是足夠的信息來幫助查明問題。關於我可能做錯什麼的想法?謝謝!

+0

嗨。你解決了嗎? – Enrique 2011-10-19 11:07:31

回答

0

我相信db類在$ this-> db。你嘗試過嗎?

編輯:啊似乎$ this-> rest-> db也是$ this-> db的別名。

相關問題