我需要身份驗證處理功能和一些基本的基於角色的授權(只是將某些頁面阻止到某個角色並允許某些頁面在另一個頁面上)。Codeigniter身份驗證和授權庫可以很好地耦合到
我已經閱讀了這個問題:What is the best Authentication and Authorization library for CodeIgniter?
然而,從2009年的問題,所以也許有更好現在工作的一項新技術。 任何建議,特別是如果你已經使用過的庫,欣賞
我需要身份驗證處理功能和一些基本的基於角色的授權(只是將某些頁面阻止到某個角色並允許某些頁面在另一個頁面上)。Codeigniter身份驗證和授權庫可以很好地耦合到
我已經閱讀了這個問題:What is the best Authentication and Authorization library for CodeIgniter?
然而,從2009年的問題,所以也許有更好現在工作的一項新技術。 任何建議,特別是如果你已經使用過的庫,欣賞
我喜歡吃喝玩樂回答,所以我在這裏發佈(他是不是發佈):
我敢肯定這不是你想聽到什麼,但我更喜歡 推出自己的類。我不害怕重新發明輪子
我更喜歡使用鹽漬散列。我通常會做的是取 純文本密碼,並添加一個字符串到$ config項目 ,我稱$ config ['encryption_salt']。然後通過php的sha1函數運行新建的字符串 並將結果存儲在數據庫中。
至於授權,我通常會在我的數據庫中建立一個權限查詢表 表,併爲用戶在其用戶 記錄中分配一個permission_id值。然後我的網站可以條件地允許或禁止 活動,根據自己的permission_id
如果撞柱將公佈答案,我還是選它
我知道所有的Auth庫限制你在某種形式或其他的袋子。它通常是一個好主意,建立自己的auth庫,分解它,所以你不要限制自己使用codeigniters原生AR。
對於角色/權限我通常只是在我的權限列中存儲一個json對象,如users
。我更喜歡使用更復雜的technique
在我的主控制器(非限制性)我只是創建一個權限(數組)通過它在我的子控制器中實現一個限制。
例如:
SQL列
`permissions` varchar(200) NOT NULL DEFAULT '["r", "u", "d"]';
主控制器
protected $permissions = array();
protected function _get_permissions()
{
return (array)json_encode($this->user->permissions);
//get permissions from user (array/object)
}
擴展兒童
if(in_array('r', $this->permissions))
{
//user can read something
}
我敢肯定這不是你想聽到什麼,但我更喜歡推出我自己的課程。我不害怕重新發明輪子。 – Skittles 2012-01-27 04:07:58
這也是一個有效的答案,我會考慮一下。我害怕的是密碼加密,但我認爲用簡單的散列函數並不難。 – 2012-01-27 14:32:56
我更喜歡使用salted hash。我通常會做的是把他們的明文密碼,並添加一個字符串,它從$配置項我調用$配置[「encryption_salt」]的。然後,我通過php的sha1函數運行新建的字符串,並將結果存儲在數據庫中。 :) – Skittles 2012-01-27 14:53:06