我正在寻找可以在我的RoR应用程序中使用的预构建解决方案。我理想地寻找类似于ASP.NET Forms身份验证的东西,它提供电子邮件验证,注册控制,并允许用户重置他们的密码。哦是的,并且很容易让我拉出当前登录到应用程序的用户。
我已经开始研究已经写过的文章,但我发现它真的很混乱。我查看了LoginGenerator,RestfulAuthentication,SaltedLoginGenerator,但似乎没有一个地方有很棒的教程或提供它们的比较。如果有一个我还没有发现的网站,或者大多数人都使用的是事实上的标准,我会很感激你的帮助。
答案 0 :(得分:82)
AuthLogic似乎是该块的新生子,似乎是restful_authentication的下一代演变,更易于使用等等。
http://github.com/binarylogic/authlogic/tree/master
编辑:现在Rails 3已经出局,Devise似乎是新的,新的孩子在街区
https://github.com/plataformatec/devise
或者我现在使用内置于Rails http://railscasts.com/episodes/250-authentication-from-scratch-revised的has_secure_password
滚动我自己的身份验证
附注:Ruby Toolbox是一个很棒的网站,可以找到各种类别的当前最佳解决方案(基于GitHub观察者的数量):
http://ruby-toolbox.com/categories/rails_authentication.html
答案 1 :(得分:21)
我真的推荐Restful Authentication。我认为这几乎是事实上的标准。
答案 2 :(得分:10)
答案 3 :(得分:3)
如果除了密码支持之外还需要OpenID支持,还有RestfulOpenIDAuthentication。
答案 4 :(得分:3)
请注意,LoginGenerator和SaltedLoginGenerator已被Restful Authentication取代,并且在较新的Rails版本上不受支持 - 不要浪费任何时间在它们上面,尽管它们当时很棒。
答案 5 :(得分:3)
我还想指出一个很好的tutorial/discussion来扩展Restful Authentication的核心功能,以防你正在寻找更强大的东西。
答案 6 :(得分:3)
AuthLogic似乎就是你想要的。它是非常可配置的,虽然它不会为您生成代码,但它很容易使用。对于电子邮件验证和密码恢复,您可能希望使用:perishable_token
列。 AuthLogic负责处理它,您只需在使用它时重置它。有关如何设置基本应用程序的信息,您可以查看Ryan Bates的Railscast on AuthLogic和“官方”示例应用程序。 AuthLogic的创建者Ben Johnson也撰写了一篇关于如何REST重置密码的博客文章。
不幸的是我不能发布多个链接,但是railscast,密码重置博客文章和示例应用程序的链接都在自述文件中(请参阅自述文件的README回购) 德尔>
更新:现在我可以发布更多链接,所以我再联系了一些。感谢marinatime在同时添加链接
答案 7 :(得分:3)
我真的很喜欢思想机器人的许可。非常简单,并且有一些好的钩子并且是可测试的。
答案 8 :(得分:2)
restful_authentication是一个功能强大的工具,非常灵活,可以提供您想要的大部分内容。但是,有几点需要注意:
答案 9 :(得分:2)
插件restful_authentication和其他扩展它的插件,完美地满足您的需求。在github.com上快速搜索将揭示许多教程,示例和扩展。请到这里:
- http://github.com/search?q=restful_authentication
有几个项目使用restful_authentication只是为了提供一个只有身份验证部分的简单Rails应用程序的例子。
这些信息应该足以让你开始寻找头脑和尾巴......祝你好运。
答案 10 :(得分:2)
只需更新此内容:Ryan Bates'Railscast #250显示从头开始构建身份验证系统....
答案 11 :(得分:0)
Clearance的另一次投票 - 可能不像authlogic那样可以自定义或者在'in',但就能够放弃它而言,它绝对值得一看。