Ruby on rails 我有一个Rails应用程序,需要实现一个;环球公司;或;“骨架键”;使用AuthLogic的密码

Ruby on rails 我有一个Rails应用程序,需要实现一个;环球公司;或;“骨架键”;使用AuthLogic的密码,ruby-on-rails,authlogic,Ruby On Rails,Authlogic,我的RoR应用程序中安装了AuthLogic插件。我没有创建需要高安全性的应用程序。但我希望管理员能够以特定用户身份登录,而不必知道他们的每个密码 我找不到AuthLogic在登录时验证输入密码的实际位置 有人对最佳方法有什么建议吗?验证在模块中进行 如果要覆盖默认行为,请执行以下操作: class UserSession < Authlogic::Session::Base verify_password_method :my_verify_method private

我的RoR应用程序中安装了AuthLogic插件。我没有创建需要高安全性的应用程序。但我希望管理员能够以特定用户身份登录,而不必知道他们的每个密码

我找不到AuthLogic在登录时验证输入密码的实际位置

有人对最佳方法有什么建议吗?

验证在模块中进行

如果要覆盖默认行为,请执行以下操作:

class UserSession < Authlogic::Session::Base
  verify_password_method :my_verify_method
  private
    def my_verify_method
      if admin_user? # method that checks to see if the current user is an admin
        true
      else
        valid_password? # use default valid password method
      end
end    
class UserSession
我建议如下。首先,您必须以管理员身份登录,否则任何人都可以登录,如果他们知道
神奇单词

然后,在用户列表中,您可以显示一个链接,该链接重定向到将当前登录的管理员作为该用户登录的操作。这样,您只能向具有正确权限的人员显示该链接


登录代码实际上非常简单:只需执行
UserSession.create!(用户)
,与测试相同,因此我认为这应该可以工作。

如果您正在登录,您仍然可以访问
当前用户