好的,再仔细想想,我觉得采用类似 sudo 的高摩擦度 UI 方法可能是最佳方案,因为该设置在编辑窗口中属于“不安全”操作,且并非所有管理员都能访问 Rails 控制台(例如托管站点的情况)。
或许可以这样设计:当管理员尝试保存新邮箱时,弹出一个模态对话框,强制其重新输入自己的密码以确认操作(如果启用了双因素认证,则进行 2FA 挑战)。不言而喻,此操作必须详细记录在工作人员日志中。我认为仍需某种强制性的用户验证机制,以便合法用户有机会报告账户被接管的情况,同时应向新邮箱地址发送通知以确认变更?![]()
我非常反对管理员仅凭用户请求就能直接更改邮箱地址的做法。必须设置某种验证层面的摩擦或复杂性。