2011-10-28 46 views
0

我對CI很新,嘗試使用用戶身份驗證構建基本API。我發現了約CodeIgniter REST server,這似乎很容易使用,並涵蓋了我需要的一切(謝謝菲利普斯特金!)。CodeIgniter REST服務器:存儲用戶帳戶

不幸的是,圖書館沒有文檔,我試圖找出是否有任何的方式來存儲登錄infomration,除了:

$config['rest_valid_logins'] = array('admin' => '1234'); 

我想有存儲在數據庫中,而不是該信息。有誰知道這是否可能?

謝謝!

回答

8

根據代碼,這個信息被在兩個函數用於REST_Controller.php:

1. _check_logn() 
2. _prepare_digest_auth() 

,它是用來爲:$valid_logins = & $this->config->item('rest_valid_logins');

所以,如果你是存儲這些信息在數據庫中,可以在這裏加載適當的模型,並檢索一個數組並使用它。例如:

$this->load->model('user_info'); 
$valid_logins = $this->user_info->getValidLogins(); 

記住你getValidLogins()必須返回類似於你你已經在配置文件中的用戶名即作爲密鑰和密碼作爲值定義的數組。

P.S:我沒有測試它。只需遵循代碼。 !

+0

感謝Vikk我有一個快速瀏覽一下你的建議和代碼 - 如果我理解正確 - 我需要爲所有用戶非常一次有人嘗試登錄獲取用戶名/密碼。那是對的嗎? –

+0

不一定。這裏唯一要做的就是檢查我們的列表和密碼匹配中是否存在提供的用戶名。您可以輕鬆修改代碼,以便僅檢索提供的用戶名的詳細信息。 – Vikk

+0

IMO此解決方案涉及以非常不安全的純文本形式存儲密碼。密碼在存儲到數據庫之前應始終進行散列(bcrypt)。 – MaxiWheat