在我的 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(使用前将#替换为@)