It turns out, the russian developer Ilya Konyukhov picked up the gauntlet after reading this and created a new auth library for CI based on DX Auth, following the recommendations and requirements below.
And the resulting Tank Auth is looking like the answer to the OP's question. I'm going to go out on a limb here and call Tank Auth the best authentication library for CodeIgniter available today. It's a rock-solid library that has all the features you need and none of the bloat you don't:
Don't get me wrong: 我不要重复使用他们的一些代码来构建我自己的代码 . 我希望能够解决的问题是什么' (such as hard security practices) over to softer '需要拥有' (such as hard security practices) over to softer ' .
11 回答
我遇到过Flexi Auth(http://haseydesign.com/flexi-auth/) . 它看起来非常有前途,我已经开始使用它了 . 它有奇妙的功能 . 与CI完全集成,并带有两个不同的库文件,其中一个是非常繁重的所有功能,另一个只包含验证 .
其中一个最好的是新注册的会员在网站上获得一段时间的临时访问权限,直到他们点击他们的电子邮件中的链接并激活 .
也许你会发现Redux适合你的需求 . 它没有矫枉过正,只有我们大多数人需要的裸机功能 . 开发人员和贡献者对所贡献的代码非常严格 .
这是official page
我正在尝试Ion_Auth并欣赏它,顺便说一下......
SimpleLoginSecure 使身份验证简单而安全 .
另外看看BackendPro
最终你可能最终会写一些自定义的内容,但从DX Auth,Freak Auth,BackendPro等借用概念并没有错 .
我对打包应用程序的体验是它们特定于某些结构,并且我在将它们集成到我自己的应用程序中时遇到问题而不需要黑客攻击,那么如果预包装有更新,我必须将它们迁移进去 .
我也在我的CI代码中使用了Smarty和ADOdb,所以无论如何我总是会做出重大的代码更改 .
Tank Auth看起来不错,但文档只是一页的解释,如何安装,以及每个PHP文件的快速运行 . 至少这是我在谷歌搜索后发现的全部内容 . 当他们说Tank Auth有充分记录时,可能是人们的意思是代码得到充分评论 . 这是一件好事,但与文档不同 . 如果有一些关于如何将Tank Auth的功能与现有代码集成的文档会很不错 .
我使用DX Auth的定制版本 . 我发现它使用起来很简单,非常容易修改,它的user guide (with great examples)与Code Igniter非常相似 .
请注意,Jens Roland的“综合列表”不包括用户角色 . 如果您对分配不同的用户角色感兴趣(例如admin / user或admin / editor / user),这些库允许:
Ion_Auth(重写Redux)
Redux
后端Pro
Tank_Auth(Jens列表中的#1以上)没有用户角色 . 我意识到这不完全是认证的一部分,但从那以后
身份验证和角色管理都在页面加载时处理
两者都涉及安全问题
两者都可以使用相同的表/模型 .
两者都可以设置为在控制器构造函数中加载(甚至自动加载)
如果你需要的话,让一个库同时处理它会很有意义 . 因为这个原因,我正在切换到Tank_Auth的Ion_Auth .
Ion_auth!看起来很有前途,占地面积小!我喜欢..
http://github.com/benedmunds/CodeIgniter-Ion-Auth
Ion_Auth击败tank_auth主要有两个原因,用户角色和文档,tank_auth中缺少这两个 .
更新(2010年5月14日):
It turns out, the russian developer Ilya Konyukhov picked up the gauntlet after reading this and created a new auth library for CI based on DX Auth, following the recommendations and requirements below.
And the resulting Tank Auth is looking like the answer to the OP's question. I'm going to go out on a limb here and call Tank Auth the best authentication library for CodeIgniter available today. It's a rock-solid library that has all the features you need and none of the bloat you don't:
Tank Auth
Download Tank Auth here
原始答案:
我也实现了自己的(目前大约80%在完成几周后完成) . 我先尝试了所有其他人; FreakAuth Light,DX Auth,Redux,SimpleLogin,SimpleLoginSecure,pc_user,Fresh Powered等等 . 他们都没有达到标准,IMO,要么他们缺乏基本功能,本身就是不安全,或者根据我的口味过于臃肿 .
实际上,当我测试它们时(在新年之后),我对CodeIgniter的所有认证库进行了详细的综述 . FWIW,我会和你分享:
DX Auth
FreakAuth Light
pc_user
Fresh Powered
Redux / Ion Auth
根据the CodeIgniter wiki,Redux已经停产,但Ion Auth前叉很强劲:https://github.com/benedmunds/CodeIgniter-Ion-Auth
Ion Auth是一个功能齐全的图书馆,没有过重或过于先进 . 在大多数情况下,其功能集将满足项目的要求 .
SimpleLoginSecure
Don't get me wrong: 我不要重复使用他们的一些代码来构建我自己的代码 . 我希望能够解决的问题是什么' (such as hard security practices) over to softer '需要拥有' (such as hard security practices) over to softer ' .
因此:回归基础 .
CodeIgniter的身份验证正确完成
这是我的MINIMAL必需的身份验证库功能列表 . 它也恰好是我自己的库的功能列表的一个子集;)
注意:最后几点不是你不需要的超高安全性过度杀伤您的Web应用程序 . If an authentication library doesn't meet these security standards 100%, DO NOT USE IT!
最近高调的不负责任的编码员将他们从软件中删除的例子:#17是莎拉佩林的AOL电子邮件在总统竞选期间被黑客入侵的原因;最近,当布兰妮斯皮尔斯,巴拉克奥巴马,福克斯新闻和其他人的推特账号遭到黑客攻击时,#18和#19的讨厌组合成了罪魁祸首;仅在#20中,中国黑客就是如何在2008年的一次自动黑客攻击中从超过70,000个韩国网站中窃取900万条个人信息的 .
这些攻击不是脑部手术 . 如果你把你的后门敞开,你就不应该对编码选择像CodeIgniter这样的最佳实践框架那么认真,你应该对自己负责,至少要做到最基本的安全措施 .
<咆哮>
基本上,它是这样的:我不关心auth库是否提供了许多功能,高级角色管理,PHP4兼容性,漂亮的CAPTCHA字体,国家表,完整的管理面板,铃声和口哨 - 如果库真的使我的网站 less secure 没有遵循最佳做法 . 这是一个身份验证包;它需要做一件事:认证 . 如果它不能做到这一点,它实际上弊大于利 .
</咆哮>
/ Jens Roland
我是Redux Auth的开发人员,您提到的一些问题已在版本2测试版中得到修复 . 您也可以通过示例应用程序从官方网站上下载 .
现在没有使用安全问题,并且已经 Build 了一个更简单的忘记密码系统 .
这在版本2中得到修复,并返回布尔值 . 我和你一样讨厌大杂烩 .
示例应用程序使用CI的验证系统 .
工作正在进行中
我还实现了一些其他功能,如电子邮件视图,这使您可以选择在电子邮件中使用CodeIgniter帮助程序 .
它仍然是一项正在进行的工作,所以如果有任何更多的建议,请让它们继续 .
-爆米花
Ps:感谢您推荐Redux .