Rails 设计禁用某些用户类型的密码恢复

2024-01-09

在我的 Rails 项目中,我有不同类型的用户,其中之一具有user_status :admin,与其他用户不同,它拥有编辑内容的完全权限。出于显而易见的原因,我想为这些类型的用户添加额外的安全性,特别是完全禁用密码恢复。

覆盖标准设计密码恢复的正确方法是什么(:recoverable设计模块)方法,以便当用户尝试为管理员用户获取重置密码链接时(user_status == "admin") 系统返回“未找到标准电子邮件”消息?

这有点像未回答的问题:将 Devise 密码恢复限制为仅限某些用户 https://stackoverflow.com/questions/25856582/restrict-devise-password-recovery-to-only-certain-users

先感谢您。


我选择的对我有用的方法是压倒性的send_reset_password_instructions用户模型的方法,添加以下内容models/user.rb:

def send_reset_password_instructions
  return false if self.user_status == 'admin'
  super
end

这使得 Devise 在电子邮件属于管理员帐户的情况下不会执行任何操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 设计禁用某些用户类型的密码恢复 的相关文章

随机推荐