php 用户身份验证库/框架...都有哪些选项? [关闭]
Posted
技术标签:
【中文标题】php 用户身份验证库/框架...都有哪些选项? [关闭]【英文标题】:php user authentication libraries / frameworks ... what are the options? [closed]php 用户身份验证库/框架...有哪些选项? [关闭] 【发布时间】:2010-11-12 07:01:45 【问题描述】:我正在为我正在处理的项目使用 php 和 codeigniter 框架,并且需要用户登录/身份验证系统。
现在我宁愿不使用 SSL(可能有点过分,而且我使用共享主机的事实不鼓励这样做)。我曾考虑使用 openID,但决定由于我的目标受众通常不是技术人员,它可能会吓跑用户(更不用说它需要镜像登录信息等)。我知道我可以编写基于哈希的身份验证(例如 sha1),因为没有传递敏感数据(我会将敏感级别与 *** 的敏感级别进行比较)。
话虽如此,在制作自定义解决方案之前,最好知道是否有任何好的库或包可用于提供半安全身份验证?我是 codeigniter 的新手,但是可以很好地集成它的东西会更好。有任何想法吗? (我对我的方法持开放态度,并对我为什么不使用 ssl 可能会发疯的建议持开放态度)。提前致谢。
更新:我研究了一些建议。我很想尝试 zend-auth,因为它似乎得到了很好的支持和构建。有没有人有在 codeigniter 中使用 zend-auth 的经验(它是不是太笨重了?),你有关于将它与 CI 集成的很好的参考吗?我不需要任何复杂的身份验证方案......只需一个简单的登录/注销/密码管理授权系统。
此外,dx_auth 似乎也很有趣,但我担心它太麻烦了。其他人在这方面取得了成功吗?
我意识到我还想以与 *** 类似的方式管理来宾用户(即未登录/注册的用户)。所以任何具有此功能的建议都会很棒
【问题讨论】:
查看答案:***.com/questions/1106604/… 还有PEAR的auth组件 您可能想看看github.com/delight-im/PHP-Auth,它既与框架无关,也与数据库无关。 【参考方案1】:我使用 Zend_Auth。但我通常使用 Zend Framework。据我所知,它与 CI 很好地集成在一起。对于 Zend_Auth,我使用了一个 Db_Table 适配器和一个带有全局盐的 SHA1。我认为这对于许多用途来说已经足够了。
【讨论】:
几年后的经验,我现在知道 codeigniter 已经过时了。我现在什么都用 ZF,需要学习 Doctrine。【参考方案2】:我发现dx_auth 在 Codeigniter 中非常出色,并且之前使用过它。它无疑是 Codeigniter 功能最全的身份验证库。
我需要做一些事情来改变它,所以我用一些函数扩展了他们的 User 类以达到我的目的(他们的一些函数并不完全符合你的预期......)。以下是我进行的一些自定义部分:
$CI = &get_instance();
$CI->load->model("dx_auth/users");
/**
* For most things, try and use the dx_auth models,
* because it's already done, and some stuff is more
* annoying to figure out than might be expected.
*
* For anything site-specific, use this model instead.
*
*/
class UserModel extends Users
/**
* Sometimes when dx_auth sucks, you have to compensate
* functions that return useful results.
*
* @param int $id id of user to check if banned
* @return int $banned returns the result (0 or 1)
*/
public function is_banned($id)
$query = "SELECT banned FROM users WHERE id=".(int)$id;
$result=$this->db->query($query);
$row = $result->row_array();
return $row['banned'];
【讨论】:
我也将它用于许多项目并取得了成功。它很简单,几乎可以满足您的所有需求。【参考方案3】:如果您想让 zend-auth 在 codeigniter 中工作,看起来 this 可能正是您正在寻找的东西。如果您发现 zend-auth 和 codeigniter 是一个很好的组合,请再次更新您的问题..
我个人觉得破解 dx_auth 是一件很痛苦的事,尤其是因为它缺乏文档,如果听起来很有希望,我很乐意尝试其他的东西。
【讨论】:
谢谢,我可以试一试以上是关于php 用户身份验证库/框架...都有哪些选项? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Backbone Js 和 SLIM 框架进行用户身份验证