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

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

有帮助吗?

解决方案

AuthLogic 似乎是新来的,似乎是 Restful_authentication 的下一个演变,更易于使用等

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

编辑:既然 Rails 3 已经发布,Devise 似乎成为了新人

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

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

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

其他提示

我真的会推荐 安全认证. 。我认为这几乎是事实上的标准。

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

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

还有 RestfulOpenID身份验证 如果除了密码支持之外您还需要 OpenID 支持。

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

我还想指出一个优秀的 教程/讨论 扩展 Restful Authentication 的核心功能,以防您正在寻找更强大的东西。

我真的很喜欢thoughtbot 的许可。非常简单,有一些很好的钩子并且可以测试。

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

不幸的是,我无法发布多个链接,但 Railscast 的链接、密码重置博客文章和示例应用程序都在自述文件中(请参阅 AuthLogic 存储库的自述文件)

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

Restful_authentication 是一个功能强大的工具,非常灵活,可以提供您正在寻找的大部分开箱即用的功能。但是,有一些注意事项:

  1. 不要从“控制”的角度思考。在 Rails 中,模型、视图和控制器比“Webforms 风格”的 ASP.NET 中更加独立。独立地计算出您想要从每一层获得什么,编写匹配的测试/规范,并确保每一层都按照您的预期进行。
  2. 即使您使用插件,也无法替代读取(至少是部分)生成的代码。如果您对幕后发生的事情有一个全面的了解,您会发现调试和定制要容易得多。

插件 Restful_authentication 和其他扩展它的插件可以完美满足您的需求。在 github.com 上快速搜索就会发现大量教程、示例和扩展。只要去这里:
- http://github.com/search?q=restful_authentication

有几个项目使用restful_authentication只是为了提供仅包含身份验证部分的简单Rails应用程序的示例。

  1. http://github.com/fudgestudios/bort -- 基础导轨应用程序具有以下特点:REST 式身份验证
  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 的精彩截屏视频

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

只是更新这个:瑞安·贝茨的 轨道广播#250 展示了从头开始构建身份验证系统......

再次投票支持 Clearance - 也许不像 authlogic 那样可定制或“in”,但就能够将其放在适当的位置并继续使用而言,它绝对值得一看。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top