我需要使用相同的用户名在Rails应用中进行两级身份验证。一个用于登录,另一个用于查看更敏感的区域,例如计费和信用卡信息。第一级是用Devise实现的。对于二级,我可以再次使用Devise设置不同的模型吗? Cancan需要单独登录。
不确定最佳方法。
任何想法都将不胜感激!
答案 0 :(得分:0)
这个问题非常传统,似乎无法使用现成的解决方案。在我看来,在这种情况下不需要双重授权(第二个密码通常用于确认某些操作,而不是用于第二次授权),但有时我们不会选择这样的东西。
肮脏的解决方案是保留另一个加密密码,当您进入第二级时,会暂时为用户提供不同的角色。将在康康中检查此角色。该角色在一段时间或下次登录时重置(以便攻击者无法同时访问计费)。我认为这很粗糙,但是快速解决方案。
这只是我的50美分,我怀疑这是一个很好的解决方案。