6

我是铁轨上的红宝石菜鸟。相比之下,我的 HTML CSS javascript 和 jQuery 相当不错。最近,我使用 Michael Hartl 的本教程进入了 ruby​​ on rails:http ://ruby.railstutorial.org/ruby-on-rails-tutorial-book 。

但唉,我正在尝试构建自己的项目并使用gem devise作为一种简单的身份验证方式。因为初学者很难进行身份验证。然而,每个人都提到菜鸟不应该使用这个宝石。

为什么菜鸟不应该为自己的项目使用设计?

完全感谢您提供的任何提示,但我更喜欢冗长的答案。

4

3 回答 3

10

我完全不同意你迄今为止给出的建议,包括这里的其他答案。

滚动您自己的身份验证,尤其是作为初学者,是让您的用户面临风险的好方法。安全性(尤其是加密)很难,即使您有经验,您也可能会以某种方式弄错。

如果您想了解基于密码的身份验证的工作原理(并且应该),请在空闲时间学习。不要让您的用户在不知情的情况下测试受试者并将他们的隐私置于危险之中。

于 2013-04-12T22:42:09.907 回答
5

除非您打算在不做任何修改的情况下直接使用 Devise,否则使用 Devise 可能会比编写自己的身份验证花费更多时间。

这取决于您的需求有多复杂。例如,是否需要忘记密码功能、验证功能等...

使用 Rails 实现您自己的身份验证非常简单has_secure_password。了解幕后发生的事情也非常有帮助。这是学习过程的一部分,简单而有趣。

编写一个基本的身份验证实际上需要大约 10 行代码。正如其他人所说,除非您有迫切需要,否则请按照教程进行操作。你会从中学到很多好东西,而使用 Devise 会让你错过很多重要的信息。

于 2013-04-12T21:29:07.077 回答
4

这个想法是,作为一个菜鸟,学习身份验证如何工作的基础知识非常有用。即使在未来的项目中您最终一直使用 Devise,拥有开发自己的身份验证的经验以便您了解 Devise 幕后发生的事情也是非常有帮助的。

您需要对此做出自己的决定。如果您急于推出一款应用程序,那么首先学习如何使用 Devise 可能是正确的方法。如果你有时间,试着弄清楚如何自己动手是个好主意。至少,值得您花时间查看 Ryan Bates 自己制作的视频:http ://railscasts.com/episodes/250-authentication-from-scratch

此外,这来自 Devise 文档阻止新的 Rails 开发人员使用 Devise: https ://github.com/plataformatec/devise#starting-with-rails

于 2013-04-12T21:24:26.433 回答