-
25-10-2019 - |
题
我正在制作一个网站,供我和我的朋友在线组织游戏。我正在使用 Rails 3 和 Devise。我基本上希望能够登录其他用户的帐户,而无需密码即可执行此操作。我查看了使用授权宝石列表 CanCan 但这并不是我真正想要的。
从某种意义上说,这就是会话切换。有人用 Devise 做过这个吗?如果我没有解释清楚,请告诉我。
右
解决方案
创建一个执行此操作的操作:
class AdminController < ApplicationController
before_filter authenticate_user!
def become
return unless current_user.is_an_admin?
sign_in(:user, User.find(params[:id]))
redirect_to root_url # or user_root_url
end
end
有关 Devise 的 wiki 条目的更多信息 https://github.com/plataformatec/devise/wiki/How-To:-Sign-in-as-another-user-if-you-are-an-admin
其他提示
你真的 做 我认为想要类似Cancan的东西。你为什么认为你不这样做?
无论如何,您将要为用户存储角色。
不隶属于 StackOverflow