使用 Devise 登录 - 单击链接时登录帐户

问题描述 投票:0回答:1

我有一个包含许多注册用户的面板。我想要每个用户都有一个链接,当我单击该链接时,我会登录该帐户,无需密码。 正如经销商系统所做的那样。经销商管理员登录客户帐户的帐户(Parallels Plesk 即可执行此操作)。

所有用户均已在 Devise 注册。 这可能吗?

ruby-on-rails devise
1个回答
2
投票

是的。这是可能的。只需调用为用户创建会话所调用的相同方法即可。该链接类似于(您需要确保路径与您正在使用的路径一致):

<a href="/users/sign_in_as_user/<%= user['user_id'] %>" class="btn btn-default btn-xs">Sign In</a>

在控制器中使用类似的东西:

def sign_in_as_user
  if current_user.admin?
    user = User.find(params[:user_id])
    sign_in(user)
    redirect_to '/wherever'
  else
    redirect_to '/'
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.