密码重置期间显示DEVISE身份验证密钥(电子邮件地址)

时间:2012-04-02 17:41:17

标签: ruby-on-rails ruby-on-rails-3 devise

我认为这很简单,我想在密码重置期间显示身份验证密钥。

首先,这样做有什么问题吗?我正在打开某种洞吗?我控制何时创建用户并发送signup_instructions。我只有大约500个用户。我的系统在很多情况下,一年只使用几次,而小公司只有一两名员工,平均有10名员工。我们服务的一些公司,而不是为员工创建多个帐户,共享一个或多个帐户,即我为公司的特定人员创建帐户,然后他们与他们的助手共享密码。我使用电子邮件地址作为身份验证密钥。

你能猜出接下来会发生什么吗?这真的发生了!用户去度假,年轻助手需要登录,忘记密码,但是足够精明,点击忘记密码并重置密码,当老板不见时,她会读取老板的电子邮件。老板从度假回来,需要登录,不能,但不够精明,点击忘记密码,并没有费心阅读她去的时候收到的电子邮件。所以她惊慌失措地叫了起来,“怎么了,我无法登录!!!”。我的许多用户都是那样,年龄大,不是真正的计算机文化。

所以我需要采取额外的步骤来重置密码,我认为应该包括他们即将重置的电子邮件地址的PROMINENT显示,以及用于提醒任何“共享”帐户以通知他们的人的措辞工作者如果重置了。

我在我的设计/密码/编辑

中尝试了这个
<%= resource.email %>

上面的代码没有产生任何结果!

1 个答案:

答案 0 :(得分:0)

您永远不应公开身份验证数据。这就是为什么你从来没有用GET发送它们而是用POST发送它们。做一些研究:gmail如何重置密码?另外要记住的是,一旦你做了所有合理的事情,用户就有责任保护他的个人信息。如果秘书知道关于老板的一切,那就太糟糕了 - 除非他们希望你使用生物识别来重置密码。