我正在使用devise gem,点击确认链接后,我想直接登录.目前它正在要求再次登录.

最近,我在designe初始化文件中添加了以下内容:

config.allow_insecure_token_lookup = true
config.secret_key = 'a8d814803c0bcc735ce657adc77793459d00154cdd7532c13d3489600dc4e963f86e14beb593a32cbe9dbbe9197c9ce50a30102f363d90350052dc8d69930033'

有什么建议吗?

推荐答案

在以前的Desive版本中,用户在确认后会自动登录.这意味着任何可以访问确认邮箱的人都可以通过单击链接登录到某人的帐户.

在邮箱重新确认工作流中,自动登录用户也可能有害.想象一下,一个用户决定更改他的邮箱地址,并且在这样做时,他在新的邮箱地址上输入了一个拼写错误.一封邮箱将被发送到另一个地址,在手里拿着令牌的情况下,该地址将能够登录到该帐户.

如果用户立即更正邮箱,则不会造成任何伤害.但如果没有,其他人可以登录到该帐户,用户就不会知道它发生了.

因此,Devise 3.1在确认后不再自动登录用户.升级后,通过在config/initializers/designe中设置以下内容,可以暂时恢复旧行为.rb:

config.allow_insecure_sign_in_after_confirmation = true

该选项将仅暂时用于帮助移民.

Ruby-on-rails相关问答推荐

GO AES GCM加密在解密时出错&S

包含字母和数字组合的正则表达式

搜查升级到 4.0.0 和 ActionText::RichText

Ruby/Rails 相当于 Python 的 sys.addAuditHook

复制我的活动时,活动描述没有复制过来

如何从 Ruby on Rails 应用程序返回正确的 HTTP 错误代码

如何在 Rails 3 中使用 Capybara 单击具有相同文本的第二个链接?

如何在我的 rails 应用程序中测试 ActiveRecord::RecordNotFound?

rails:防止闪烁消息显示两次

适合mysql比较的Ruby datetime

在 rake 任务期间关闭观察者的简单方法?

在 Controller 中调用模型方法

rails回形针和乘客`'识别'命令无法识别`

连接表的最佳 SQL 索引

rails respond_to format.js API

用于在多行上链接调用的 Ruby 约定

Rails 路由:GET 没有参数 :id

find、where 和 find_by_id 有什么区别?

如何在 Rails 表单中将复选框和标签保持在同一行?

如何获取 Rails 3.1 中assets资源 的绝对 URL?