关于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