關於auth庫,建議以下:
1. ion_auth,基於Redux重寫而成,很是不錯的認證庫,國外用的不少,幾個最新的ci2.0.2基礎上的開源系統(如doveforum)都用它,支持ci 2.0和以上,2010年的版本就已經穩定,目前仍然在更新。
優勢:這個庫除了用戶認證,還搭建了簡單的權限框架,支持admin、group的結構,並可直接使用,有完整的user_guide,很方便,並且再ci英文社區裏受到熱捧,使用是比較有保障的。
缺點:不支持captcha(圖形驗證碼),因此還須要圖形驗證功能的單獨集成。
連接:https://github.com/benedmunds/CodeIgniter-Ion-Auth/
介紹和跟蹤:http://codeigniter.com/forums/viewthread/145263/
下載: <ignore_js_op> benedmunds-CodeIgniter-Ion-Auth-marster-08dc2d3.zip ,這是1.0版,2.0版做者自認爲還有bug,慎用。
2. tank_auth,基於dx_auth重寫而成,也很是不錯,不少人再用,支持ci 2.0,目前再也不更新,最新版本1.09應該是2011年2月份寫的。
優勢:內建支持captcha(圖形驗證碼)和reCAPTCHA (老外愛用的第三方圖形驗證網站,google維護),用起來很方便,做者重寫的時候,還修正了dx_auth的一些安全問題,好比替換了不安全的md5哈希算法。
缺點:被做者改寫成了單純的用戶認證庫,去掉了dx_auth原有的權限框架,若是要進行admin、role的管理,須要單獨構架或者再開發,並且user_guide不完整,只能依靠dx_auth原有的說明內容,結合查閱源代碼,才能弄明白。且models中的模型類和config/fx_auth.php中定義的數據庫還沒有徹底對應。
連接:http://www.konyukhov.com/soft/tank_auth/
介紹和跟蹤:http://codeigniter.com/forums/viewthread/110993/
下載: <ignore_js_op> tank_auth1.09.zip ,雖然做者再1.09後沒有更新,但在ci社區中依然保持跟蹤。
另外,曾經流傳很廣的dx_auth主要是不兼容ci2.0,有人也爲其作了兼容性調整:
下載: <ignore_js_op> dx_auth_for_20.rar
3. fx_auth,做者是中國人,基於tank_auth重寫而成,雖然做者自稱重寫自dx_auth,只要對比源代碼,就能看出tank_auth的影子。最新版本1.10,應該也是由tank_auth的版本號繼承的,完成於2011年4月,目前未見到更新。支持ci 2.0以上。
優勢:保留了tank的優勢,在tank的基礎上恢復了部分原來dx_auth權限框架,支持admin、role的結構,可直接使用。
缺點:但不知爲何,還有一半dx原有的權限架構中的相關方法沒有恢復,如is_role等,若是項目須要,得本身開發,和dx、tank同樣,沒有完整的user_guide,只能依靠dx_auth原有的說明內容,並查閱源代碼來掌握,並且做者應該是爲了兼容之前的dx_auth,因此改得優勢面目全非。
連接:http://www.mixti.cn/solution/201104/13/n356.shtml
論壇裏面相關:http://codeigniter.org.cn/forums/thread-9463-1-1.html,有更詳細的介紹。
下載: <ignore_js_op> fx_auth_modified.rar ,是我修改後的fx_auth,修正了原有的模型文件,使和config/fx_auth.php一致,並增長了is_role,is_banned二個方法,但願有幫助。直接解壓縮到ci項目文件夾,並安裝根目錄下的.sql文件到數據庫便可。後來發現也有些問題,最近沒時間弄了,你們使用的時候得注意下。
有網友爲tank_auth又補充了角色,從代碼看比fx_auth規範不少,具體連接:https://bitbucket.org/mtsandeep/tank-auth-with-roles/
下載: <ignore_js_op> mtsandeep-tank-auth-with-roles-a65b2788bff6.zip
4.FreakAuth_light:用戶登陸/退出、用戶註冊 、記住密碼 、修改密碼 、鎖定網站的保留區域 、一個後臺管理程序:管理用戶 、管理管理員 、它容許你設置 4 個訪問級別(從超級管理員到來賓),而後在控制器中設置一個「check」方法。它既能被設置在控制器的構造函數中,也能被設置在某個指定的函數中。若是用戶調用控制器(或指定的函數),這段代碼將檢查他(她)是否登錄。
下載: <ignore_js_op> FreakAuth_light_1.1.zip
5.Backend Pro:這個是認證庫裏面包含的內容最全面的,除了用戶登錄、註冊、密碼、認證,甚至包含一個較完整的後臺,管理用戶、權限和角色,只是目前只有0.61版,不清楚做者爲何從10年起中止更新的緣由,但ci英文社區不少人使用這個庫,應該是由於可繼承的代碼較多。
連接:http://www.kaydoo.co.uk/projects/backendpro
介紹和跟蹤:http://codeigniter.com/forums/viewthread/76078/
和php5的兼容性修正:http://www.kaydoo.co.uk/2010/04/patch-backendpro-0-6-1-for-use-with-php-5
下載: <ignore_js_op> BackendPro0.6.1.zip
6.BitAuth:是英文社區裏面比較新的一個認證庫,我閱讀了一下代碼,寫得中規中距,乾淨,並且容易使用,還使用了最新的phpass 0.3的加密算法,支持 用戶-用戶組-角色 的認證,其中角色是在config中定義的,不能用於業務邏輯。但目前版本號只有0.1.1,人氣比ion auth差很多,你們能夠選擇使用。
連接:https://github.com/danmontgomery/codeigniter-bitauth
介紹和跟蹤:http://codeigniter.com/forums/viewthread/197267
下載: <ignore_js_op> danmontgomery-codeigniter-bitauth-0.1.1-0-g61c75ff.zip php