Rails 3身份验证解决方案

时间:2010-11-21 05:03:49

标签: ruby-on-rails authentication plugins rubygems ruby-on-rails-3

我在StackOverflow和Google上搜索过,但找不到任何为Rails编写身份验证宝石或插件比较的人(我正在寻找Rails 3的东西)。哪些认证解决方案可用于最受欢迎的Rails 3,它们之间有什么区别?

8 个答案:

答案 0 :(得分:47)

Ruby工具箱有一个最受欢迎的列表:http://ruby-toolbox.com/categories/rails_authentication.html

你可以看到Devise和Authlogic绝对是最受欢迎的。

我个人使用Devise。它适用于Rails 3,可以轻松定制,并且可以很容易地集成Twitter和基于Facebook的身份验证。

答案 1 :(得分:14)

对于Rails3应用程序肯定设计;)。 Devise是唯一一个在所有3个堆栈层上提供安全性的认证系统: - 在'M','v'和'C'中,因此最好使用。但您必须了解更多有关如何自定义设计以适应您的应用程序需求的信息。您可以在此页面https://github.com/plataformatec/devise/wiki/_pages

中找到有关自定义的帮助

答案 2 :(得分:13)

在Rails中,从头开始验证很简单。 Ryan Bates在此处介绍http://railscasts.com/episodes/270-authentication-in-rails-3-1

答案 3 :(得分:6)

答案 4 :(得分:1)

我很惊讶OminAuth没有在任何答案中提及。 (同意OmniAuth比这个问题更新,但后面有答案)

毫无疑问,这是目前适用于rails应用程序的最详尽的身份验证解决方案。

在幕后,OmniAuth使用OAuth2,它正在发展成为跨平台和框架的Web应用程序中身份验证的事实标准。几乎所有主要的互联网公司都支持OAuth2 - Github,谷歌,Facebook,Twitter,LinkedIn只是其中的一小部分。

当然,DeviseOmniAuth的效果非常好所以对于那些已经使用Devise

的人来说,这不应该是一个主要问题。

答案 5 :(得分:0)

我是推动你自己的主要支持者。根据您的要求,它对关键组件的依赖性相当直接且降低。 Rails 3.1使它变得更加容易。

答案 6 :(得分:0)

有点迟到了,但我在这里写了一些东西:

http://zergsoft.blogspot.jp/2012/08/rails-3-authentication-compared-warden.html

我报道了Warden,Devise和家乡成长。

答案 7 :(得分:0)

Michael Hartl的教程非常适合学习如何建立自己的教程。

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

我已在多个应用上使用它,并且喜欢设置我自己的身份验证方法的灵活性。

虽然在大多数情况下我使用Devise并且喜欢它。它非常快速/易于实现,非常安全,并且完全符合我的需要。

https://github.com/plataformatec/devise

我通常会将它与CanCan和Rolify一起使用