Rails 密码将在 24 小时内过期

2024-03-27

在我的 Rails 3.1 应用程序中,我想为用户创建随机密码并使其过期。我正在使用 devise gem 来实现这一点。任何可用的插件expiring password在一段时间内?
否则请给我一些逻辑建议来实现此功能。
请把我当作一个新手。


听起来您只想让密码过期一次。如果您希望定期(例如每几个月)执行此操作,或者如果您想防止用户重复使用密码,那么情况会变得更加复杂。

摘自我正在开发的应用程序:

app/models/user.rb(假设这就是您为模型命名的名称):

def password_should_expire?
  # your logic goes here, remember it should return false after the password has been reset
end

应用程序/控制器/application_controller.rb

before_filter :check_password_expiry
def check_password_expiry
  return if !current_user || ["sessions","passwords"].include?(controller_name)
  # do nothing if not logged in, or viewing an account-related page
  # otherwise you might lock them out completely without being able to change their password
  if current_user.password_should_expire?
    @expiring_user = current_user # save him for later
    @expiring_user.generate_reset_password_token! # this is a devise method
    sign_out(current_user) # log them out and force them to use the reset token to create a new password
    redirect_to edit_password_url(@expiring_user, :reset_password_token => @expiring_user.reset_password_token, :forced_reset => true)
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 密码将在 24 小时内过期 的相关文章

  • 属于主键?

    我有一个像这样的数据库布局 Users id name etc Lead id initials etc 基本上一个用户有很多线索 这initials字段映射到name用户表中的字段 我对用户设置有一个完美的关系 has many lead
  • 通过 Rails 访问 has_many 上的附加值

    我在访问 has many 上名为 permission 的附加参数的值时遇到了真正的麻烦 这可能是很简单的事情 我的 3 个型号是 class User lt ActiveRecord Base has many players user
  • 如何将 CanCanCan 与枚举字段一起使用?

    I got Article具有枚举字段的模型enum status pending done 这是我的能力文件 class Ability include CanCan Ability def initialize user user Us
  • 重置rails中的主键id

    当我从表中删除所有并开始再次插入时 我遇到主键如何递增的问题 这是有问题的 因为我还有与已清除表关联的其他模型 例如 如果我有属于 Computer 的 Apple 那么当我清除 Computer 表并重新添加计算机时 关联会变得混乱 因为
  • 更新 Rails 中的中间件

    有什么办法可以修改 NOT替换 rails 中的中间件 所以而不是 config middleware delete Rack Cache config middleware use Rack Cache metastore gt rail
  • Rails-嵌套 content_tag

    我正在尝试将内容标签嵌套到自定义帮助器中 以创建如下内容 div class field div
  • 如何在 API 模式下使用 Doorkeeper 处理 OAuth 流程?

    场景很简单 A 仅限 Rails API带有 Doorkeeper 提供商的服务器 A 移动应用 and a SPA 假设是 React 想要使用电子邮件和密码注册和登录的用户 当你有一个正常的Rails 堆栈 你需要定义一个authori
  • 如何在rails中为options_from_collection_for_select添加数据属性

    将此视为我的选择标签 这工作正常 但我需要一个数据属性 product id不管用 我怎样才能得到ID too 尝试以下操作
  • 动态获取路由路径

    我最近将一些模板从 ERB 转换为 Haml 大多数情况下 它变得更干净 更好 但按钮定义开始变得糟糕 我想转换这个 link to t new default gt t helpers links new new intern path
  • 使用ActiveRecord,有没有办法在after_update期间获取记录的旧值

    使用一个简单的示例进行设置 我有 1 张桌子 Totals 保存了总和amount第二个表中每条记录的列 Things When a thing amount更新后 我想简单地将旧值和新值之间的差异添加到total sum 现在我正在减去s
  • 设计和处理闪光灯

    我正在将 Devise 3 1 1 与 Rails 3 一起使用 并且我的布局中有以下闪存处理代码 我登录我的应用程序 Flash 说 Signed in successfully 然后注销 然后错误登录并闪烁显示 Signed out s
  • Rails 管理自定义:将 html 视图嵌入到仪表板中

    我们已从 Rails 管理起始页面删除了仪表板和历史记录 现在我们想嵌入一个谷歌分析页面 供用户查看 GA 的仪表板 该页面由一些简单的 HTML 组成 问题 如何在 Rails 管理仪表板中嵌入 html 页面 答案很简单 我需要创建以下
  • 定义 Rails 迁移中的方法

    我试图在迁移中定义一个方法 但出现未定义的方法错误 undefined method do something specific for
  • Rails 控制台在 Windows 中失败并显示“切换到检查模式”

    我创建了一个 Rails 项目rails new foo then cd foo 然后运行rails c 然后我收到这样的消息 DL is deprecated please use Fiddle Loading development e
  • 如何在 rspec 请求规范中设置请求标头?

    在控制器规范中 我可以像这样设置 http 接受标头 request accept application json 但在请求规范中 请求 对象为零 那么我在这里该怎么做呢 我想将 http 接受标头设置为 json 的原因是这样我可以这样
  • 编译资产时“堆栈级别太深”

    运行后brew upgrade 或者其他更新了我的 gems ruby 版本的东西 我的rake assets precompile任务不再有效 我收到此错误 rake aborted stack level too deep in Use
  • Ruby 中的参数化 get 请求?

    如何创建 HTTPGETRuby 中带参数的请求 这很容易做到 当你POSTing require net http require uri HTTP post form URI parse http www example com sea
  • Active Admin:如何设置页面标题?

    这看起来应该相对简单 但我在寻找答案时遇到了一些麻烦 如何在 ActiveAdmin 中设置页面标题 合并答案并添加一点 这大部分都在维基百科上的这个页面 https github com gregbell active admin wik
  • String 对象上的“tap”方法未返回预期结果

    在对 String 类型的对象使用 tap 方法时 我遇到了一个有趣的问题 abc tap o o xyz this line returns abc instead of xyz tap 方法适用于其他类型的对象 tap o o lt l
  • 将自定义路由添加到 Rails 应用程序

    我已经读过导轨指南 http guides rubyonrails org routing html 我想要设置的是路由到 配置文件 控制器的以下路由 GET profiles charities 应显示所有慈善机构 GET profile

随机推荐