84

我正在寻找可以在我的 RoR 应用程序中使用的预构建解决方案。理想情况下,我正在寻找类似于 ASP.NET Forms 身份验证的东西,它提供电子邮件验证、注册控件并允许用户重置密码。哦,是的,并且很容易让我拉出当前登录到应用程序的用户。

我已经开始研究已经写好的文章,但我发现它真的很混乱。我看过 LoginGenerator、RestfulAuthentication、SaltedLoginGenerator,但似乎没有一个地方有很好的教程或提供它们的比较。如果有一个我还没有发现的网站,或者如果有一个大多数人使用的事实上的标准,我将不胜感激。

4

12 回答 12

84

AuthLogic 似乎是新事物,似乎是 restful_authentication 的下一个演变,更易于使用等

http://github.com/binarylogic/authlogic/tree/master

编辑:现在 Rails 3 出来了,Devise 似乎是新的,新的孩子

https://github.com/plataformatec/devisehas_secure_password或者我现在一直在使用 Rails 内置 的身份验证来滚动自己的身份验证http://railscasts.com/episodes/250-authentication-from-scratch-revised

旁注:Ruby Toolbox 是一个很棒的网站,可以找到各种类别的当前最佳解决方案(基于 GitHub 观察者的数量):

http://ruby-toolbox.com/categories/rails_authentication.html

于 2009-04-12T02:08:57.777 回答
22

我真的会推荐Restful Authentication。我认为这几乎是事实上的标准。

于 2008-08-23T15:33:44.937 回答
10

对于一个非常简单的解决方案,请使用Clearance

如果您正在寻找更多选择,Devise是一个很好的解决方案。它使用 Warden,这是一个基于机架的身份验证系统。

于 2010-06-03T04:31:34.443 回答
3

如果除了密码支持之外还需要 OpenID 支持,还有RestfulOpenIDAuthentication 。

于 2008-08-23T16:46:52.017 回答
3

请注意,LoginGenerator 和 SaltedLoginGenerator 已被 Restful Authentication 取代,并且在较新的 Rails 版本中不受支持——尽管它们当时很棒,但不要浪费任何时间。

于 2008-09-01T06:02:50.293 回答
3

我还想指出一个关于扩展 Restful 身份验证核心功能的优秀教程/讨论,以防你正在寻找更强大的东西。

于 2008-09-05T01:59:58.987 回答
3

AuthLogic似乎是您想要的。它非常可配置,虽然它不会为您生成代码,但它非常易于使用。对于电子邮件验证和密码恢复,您可能需要使用该:perishable_token列。AuthLogic 会处理它,您只需要在使用时重置它。有关如何设置基本应用程序的信息,您可以查看 Ryan Bates在 AuthLogic 上的 Railscast以及“官方”示例应用程序。AuthLogic 的创建者 Ben Johnson 也写了一篇关于如何 RESTfully 重置密码的博客文章。

不幸的是,我不能发布多个链接,但是到 railscast、密码重置博客文章和示例应用程序的链接都在 README 中(请参阅 AuthLogic repo 以获取 README)

更新:现在我可以发布更多链接,所以我链接了更多。感谢 marinatime 同时添加链接

于 2009-12-14T13:44:40.373 回答
3

我真的很喜欢thoughtbot的许可。非常简单,有几个很好的钩子并且是可测试的。

于 2010-02-08T17:59:52.050 回答
2

restful_authentication 是一个功能强大的工具,它非常灵活,可以开箱即用地提供您正在寻找的大部分内容。但是,有几点需要注意:

  1. 不要考虑“控制”。在 Rails 中,模型、视图和控制器比在“Webforms 风格”的 ASP.NET 中独立得多。独立地从每一层中找出你想要的东西,编写测试/规范以匹配并确保每一层都在做你期望的事情。
  2. 即使您使用的是插件,也无法替代阅读(至少部分)生成的代码。如果您对幕后发生的事情有一个全面的了解,您会发现调试和定制要容易得多。
于 2008-09-19T21:54:02.277 回答
2

插件 restful_authentication 和其他扩展它的插件,完美地满足您的需求。在 github.com 上快速搜索会发现很多教程、示例和扩展。去这里: -http
: //github.com/search ?q=restful_authentication

有几个项目使用 restful_authentication 只是为了提供仅具有身份验证部分的准系统 Rails 应用程序的示例。

  1. http://github.com/fudgestudios/bort -- 一个基本的 Rails 应用程序,具有:RESTful 身份验证
  2. http://github.com/mrflip/restful_authentication_example -- 另一个项目,其中包含如何使用 restful_authentication 的一个很好的例子
  3. http://github.com/activefx/restful_authentication_tutorial -- 同上,捆绑了一些其他插件。
  4. http://railscasts.com/episodes/67-restful-authentication - 一个解释 restful_authentication 的精彩截屏视频

这些信息应该足以让你开始寻找正面和反面......祝你好运。

于 2008-09-20T01:13:38.663 回答
2

只是更新一下:Ryan Bates 的Railscast #250展示了从头开始构建身份验证系统......

于 2012-09-20T20:22:47.873 回答
0

对 Clearance 的另一次投票 - 可能不像 authlogic 那样可定制或“in”,但就能够将其放置到位并继续运行而言,它绝对值得一看。

于 2010-05-22T05:52:09.733 回答