加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails为某些用户类型设计了禁用密码恢复功能

发布时间:2020-12-17 01:34:39 所属栏目:百科 来源:网络整理
导读:在我的Rails项目中,我有不同类型的用户,其中一个用户具有user_status:admin,与其他用户不同,它拥有编辑内容的完全权限.出于显而易见的原因,我想为这些类型的用户添加额外的安全性,特别是完全禁用密码恢复. 覆盖标准Devise密码恢复(:可恢复的Devise模块)方
在我的Rails项目中,我有不同类型的用户,其中一个用户具有user_status:admin,与其他用户不同,它拥有编辑内容的完全权限.出于显而易见的原因,我想为这些类型的用户添加额外的安全性,特别是完全禁用密码恢复.

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

这有点像未回答的问题:Restrict Devise password recovery to only certain users

先感谢您.

解决方法

我选择并且对我有用的方法是通过将以下内容添加到models / user.rb来覆盖User模型的send_reset_password_instructions方法:

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

这使得Devise在电子邮件属于管理员帐户时不会做任何事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读