我有一个包含许多注册用户的面板。我想要每个用户都有一个链接,当我单击该链接时,我会登录该帐户,无需密码。 正如经销商系统所做的那样。经销商管理员登录客户帐户的帐户(Parallels Plesk 即可执行此操作)。
所有用户均已在 Devise 注册。 这可能吗?
是的。这是可能的。只需调用为用户创建会话所调用的相同方法即可。该链接类似于(您需要确保路径与您正在使用的路径一致):
<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