我正在制作一个网站,供我和我的朋友在线组织游戏。我正在使用 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的东西。你为什么认为你不这样做?

无论如何,您将要为用户存储角色。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top