Rails 3authentication:Authlogic vs Devise
我一直在Rails 2.3中使用Authlogic,但是现在我正在使用Rails 3,我想我可能会尝试一种新的身份validation解决scheme。
devise与Authlogic相比如何? 他们有什么不同?
我已经用它们,但不是广泛的。 在我上一个项目中,我给了Devise一个镜头。 我最终使用了Rails-Warden。
对于devise,如果你想发送成功的login到“welcome / index”你添加到routes.rb
namespace :user do root :to => "welcome#index" end
亲自,我喜欢devise。 它认为这是伟大的,我想你可以称之为“自以为是”,但这些意见可以很容易地被覆盖。
我发现Devise对我太自以为是。 如果你只是想接受它开箱即用的方式,那就好办了。 我有一些具体的要求,发现自己写东西来绕过devise,所以最终把它撕掉,而不是更新Authlogic到Rails3。
就像原来的提问者一样,我也经常在Rails 2.3中使用AuthLogic,但是当AuthLogic没有准备好Rails 3.1(当它在RC阶段)时,select使用Devise。 总的来说,我已经让Devise做我想做的事情,但我很不高兴,希望我没有做出改变。
用户authentication表面上看起来很简单,而且是“组件化”的理想之处,但是在要求login之前,您希望让用户充分参与您的网站,并且Devise使得这一切变得更加困难。
是的,像将after_sign_in_path_for / after_sign_up_path_for放入Application Controller工作,但是这些function实际上只是用来返回一个path,如果你使用Devise,你会发现自己粘住了大块的代码。 它的工作,但有你自己的用户控制器来处理用户相关的行动,对我来说,更优雅。
如果您需要对Twitter,Facebook,LinkedIn和Google的多个OAuth身份validation,则可以使用OmniAuth gem和Authlogic。 容易弄清楚,并让您完全控制用户从不同的社交网站进行身份validation时发生的情况,您可以在authorizations_controller.rb中进行身份validation。
我喜欢Devise。 你也可以用Devise来使用OmniAuth。 我认为Devise项目非常活跃,在互联网上有很大的支持。