2011-04-25 37 views
5

我想实现一个积极开发并带有合理默认值的第三方Ruby on Rails身份验证系统。哪个Rails认证系统更好:AuthLogic,Clearance还是Devise?

我已经将我的选择缩小到AuthLogic和Clearance(thinkbot) - 任何人都可以在任何方向上摇摆我?根据要求,从我所知道的两方面来看,这两者都适用于我的项目。它看起来像两个文档/代码样本非常相似,并且都相对容易设置。

任何人都有偏好?我真的很喜欢AuthLogic的OpenID插件 - 不知道Clearance是否可以做到这一点。

+4

头部设计。 – apneadiving 2011-04-25 22:41:05

+0

考虑修改您的标题,因为它表明您的问题比实际范围要广(导致它被标记为主观),而实际上您只是要求在两个选项之间进行比较。 – 2011-04-25 23:08:27

+0

已更新。谢谢。 – 2011-04-25 23:16:59

回答

7
+0

我会看看,我正在阅读他们的文档,并喜欢它到目前为止!谢谢:) – 2011-04-25 22:56:53

+0

设计是一个混乱,与逻辑分布在模型和控制器。 – Doug 2016-10-09 15:49:01

2

你已经排除设计出于某种原因?

如果不是,这是Rails最新,最完​​整的身份验证框架。至于openID身份验证,请看OmniAuth,它与devise无缝集成。

+0

谢谢,我正在看它!似乎它会做我需要的一切,然后一些。 – 2011-04-25 23:15:41

3

我已经使用了restful_authentication宝石,authLogicDevise,我喜欢COS它是基于模型设计”(越往上堆是更好,更容易rspec的),也可以让你只是把管理员国旗在用户表管理员和去(或使用角色更复杂的东西)。

另一个已变得普遍的宝石设计是cancan for roles,例如,管理员,读者,经理等(不管你想要什么),语法如下(从cancan gem)。

<% if can? :update, @article %> 
    <%= link_to "Edit", edit_article_path(@article) %> 
<% end %> 
+0

很酷,不知道。谢谢 :) – 2011-04-26 03:54:58

2

关于授权的问题往往制定得不好,因为我们都对不同方面感兴趣。在我的情况下,我们有一个非常成熟的应用程序(Wagn,参见http://wagn.org),并且它已经有一个本身已经构建的认证功能。我们正在做的是使应用程序独立于身份验证系统,所以我最感兴趣的是两个维度:

1)提供程序接口的API是什么,它是多么容易添加到我的应用程序。

我刚刚完成了大量工作,通过应用程序使用的一组类或模块方法以及本地增长的AR类(用户类和用户表)的模型进行了大量工作。这导致下一部分:

2)哪些授权提供者可用,以及我需要做些什么才能将它们加载到我的应用程序中(通常我希望这些授权提供程序位于一个或多个Rack中间件中)。

我不需要Devise,它确实太多了,我想要一个到外部认证提供者的接口。我的应用程序可能会提供将参数发布到auth服务的表单,但它不会使用它们的Rails视图或控制器。

我怀疑这种情况对于某一类开发人员来说很常见。