推荐和整理 支持ci 2.0以上的 auth用户认证库
本帖最后由 adrlil 于 2011-10-29 09:48 编辑最近正在研究了auth认证库,看了loveinlove的帖子:
对于CI Auth扩展的一些搜集
很受启发。又自己下载了几个认证库,并研究了几个最新的开源项目,还动手改了一下。希望能够对大家有帮助。2011.10.15:把回复里面sdink和斯达客的评论也整理了一下,方便大家参考,并增加了backend pro和bitauth,都是不错的认证库,大家自选吧。
================================
关于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/
下载:,这是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/
下载: ,虽然作者再1.09后没有更新,但在ci社区中依然保持跟踪。
另外,曾经流传很广的dx_auth主要是不兼容ci2.0,有人也为其做了兼容性调整:
下载:
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,有更详细的介绍。
下载:,是我修改后的fx_auth,修正了原有的模型文件,使和config/fx_auth.php一致,并增加了is_role,is_banned二个方法,希望有帮助。直接解压缩到ci项目文件夹,并安装根目录下的.sql文件到数据库即可。后来发现也有些问题,最近没时间弄了,大家使用的时候得注意下。
有网友为tank_auth又补充了角色,从代码看比fx_auth规范很多,具体链接:https://bitbucket.org/mtsandeep/tank-auth-with-roles/
下载:
4.FreakAuth_light:用户登录/退出、用户注册 、记住密码 、修改密码 、锁定网站的保留区域 、一个后台管理程序:管理用户 、管理管理员 、它允许你设置 4 个访问级别(从超级管理员到来宾),然后在控制器中设置一个“check”方法。它既能被设置在控制器的构造函数中,也能被设置在某个指定的函数中。如果用户调用控制器(或指定的函数),这段代码将检查他(她)是否登陆。
下载:
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
下载:
6.BitAuth:是英文社区里面比较新的一个认证库,我阅读了一下代码,写得中规中距,干净,而且容易使用,还使用了最新的phpass 0.3的加密算法,支持 用户-用户组-角色 的认证,其中角色是在config中定义的,不能用于业务逻辑。但目前版本号只有0.1.1,人气比ion auth差不少,大家可以选择使用。
链接:https://github.com/danmontgomery/codeigniter-bitauth
介绍和跟踪:http://codeigniter.com/forums/viewthread/197267
下载:
================================================
另外,想对比更多auth库的哥们可以看看这里:http://stackoverflow.com/questions/346980/what-codeigniter-authentication-library-is-best
是2010年的一个对比。
mark,不过有没有直接可以用的。我想直接用就好了。 tank_auth放到项目里,怎么使用呢? 过来支持下 {:soso_e179:}
收藏 好东西,感谢分享! 好东西收藏了 不错,收了 看看代码在说 这些所谓的修改版已改得不成样了,违背了原作者的心路,加的加。删的删,已不成样了,建议下载DX来自己改, sdink 发表于 2011-10-2 11:08 static/image/common/back.gif
这些所谓的修改版已改得不成样了,违背了原作者的心路,加的加。删的删,已不成样了,建议下载DX来自己改, ...
tank_auth还是不错的,使用了phpass进行加密,和wordpress步调一致。 adrlil 发表于 2011-10-2 19:02 static/image/common/back.gif
tank_auth还是不错的,使用了phpass进行加密,和wordpress步调一致。
tank_auth 没有角色管理模块总之呢 你要是想用在程序上呢 fx_auth是不靠谱,有角色模块但是不能用 本帖最后由 sdink 于 2011-10-3 12:54 编辑
FreakAuth_light不错
它包括一个类库
用户登录/退出
用户注册
记住密码
修改密码
锁定网站的保留区域
一个后台管理程序:
管理用户
管理管理员
它允许你设置 4 个访问级别(从超级管理员到来宾),然后在控制器中设置一个“check”方法。它既能被设置在控制器的构造函数中,也能被设置在某个指定的函数中。如果用户调用控制器(或指定的函数),这段代码将检查他(她)是否登陆。
下载地址:http://freakauth.4webby.com/downloads.html
但是好像不支持2。X以后的版本,改的地方不会很多,自己改一下就可以