【问题标题】:Devise Security Extension设计安全扩展
【发布时间】:2017-07-13 15:02:55
【问题描述】:

我正在尝试使用 devise 安全扩展,因为它具有我正在为我的项目寻找的确切方法。 我已经按照 github 页面上的所有说明进行操作:https://github.com/phatworx/devise_security_extension,但是当我尝试运行我的项目时,我收到了以下错误消息:

/home/felipe/ruby-example-2.4.1/ball-consulta-de-notas-fiscais/vportal/config/initializers/devise.rb:285:in block in <top (required)>': undefined methodexpire_password_after=' 用于设计:模块( NoMethodError)

我已将方法 :password_expirable 添加到我的 user.rb 并取消注释 # 如果密码过期(例如 3 个月)行

config.expire_password_after = 2.months on my devise.rb 

我正在运行 rails 5.0。

你能帮帮我吗?

【问题讨论】:

标签: ruby-on-rails ruby ubuntu devise


【解决方案1】:

您的 Gemfile.lock 中没有 devise_security_extension,您的 Gemfile 中也没有 gem 'devise'。 因此,只需将两行 gem 'devise'gem 'devise_security_extension' 添加到您的 Gemfile。然后重复文档中的操作:

Devise

Devise Security Extension

希望对您有所帮助!

【讨论】:

  • 事实上,我已经将这些 gem 添加到子模块应用程序的 gemspec 文件中。我不够清楚,但我们有一个子模块负责应用程序的身份验证位。每当我们将 gem 添加到 gemspec 文件中时,我们都可以运行 bundle install 到主文件。我可以向您保证,您的设计目前正在运行,目前我们可以正确验证登录和 psswrd。问题在于扩展名。我已将丢失的文件添加到驱动器。可以看看吗?
  • @user3677415 你能把 config/initializers/devise.rb 添加到驱动器吗?
  • 您的 Devise 模型是否包含模块,例如 devise :password_expirable, :secure_validatable, :password_archivable, :session_limitable, :expirable
  • Max,我已经用 devise.rb 和 user.rb 更新了 Drive。是的,当我完成运行 bundle install (包括 gem 之后)和 rails generate 时,它​​会自动在 devise.rb 中插入一些注释行。之后,我取消了我想要使用的注释,并在 user.rb 中添加了方法——在当前文件中,我只测试 password_expirable。但不知何故,它说该方法未定义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-06
  • 2016-10-25
  • 1970-01-01
  • 2023-03-19
  • 2017-08-05
  • 2021-03-25
  • 2013-06-17
相关资源
最近更新 更多