![]() |
1
8
仅供参考,您可能希望签出restful_身份验证插件,因为它将为您执行此操作。为什么要自己滚? 作为“认证”的方式是:
代码截图(从我的用户类随机复制粘贴,因此不要盲目粘贴此内容):
|
![]() |
2
1
对于Ethan的评论,什么是虚拟属性,虚拟属性是不在数据库中的属性,就像Matt的attr_accessor:password,通过这种方式,您可以接受来自用户的输入,但不必以那种形式存储,在这种情况下,我们希望能够接受明文密码,但我们希望将其加密存储。为此,我们有一个虚拟属性:password,在数据库中,我们将其存储为加密的\密码。 |
![]() |
3
1
好吧,你可以重写setter:
而这将 总是 加密值。你不需要在保存之前 或 一个属性访问器。 |
![]() |
4
1
请注意,最好为每个用户选择一个随机的n位值(在创建该用户时),并在散列密码时将其预先发送给密码。 原因是:如果任何人获得了你的数据库,他们不仅不能立即看到用户的密码,他们也看不到两个用户是否有相同的密码(如果其中一个用户获取了你的数据库,这一点很重要),并且某种类型的哈希破解攻击(彩虹表)变得更加困难。 |
![]() |
cluster1 · 采取独立的新行动的好处是什么? 6 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 6 月前 |
![]() |
Fred Willmore · Rails控制器不呈现任何模板 1 年前 |
![]() |
Diogo Amaral · 实现API请求的正确方式 1 年前 |
![]() |
Meknassih · 在控制器方法中分配给模型没有任何作用 1 年前 |
![]() |
Michael Ding · Rails上的默认会话到期问题 1 年前 |
|
Flávio · 基于另外两个生成数组 1 年前 |