Skip to content

Instantly share code, notes, and snippets.

@invisiblefunnel
Last active December 18, 2015 04:39
Show Gist options
  • Select an option

  • Save invisiblefunnel/5726906 to your computer and use it in GitHub Desktop.

Select an option

Save invisiblefunnel/5726906 to your computer and use it in GitHub Desktop.
Sign in as any user with active_admin and switch_user

Install gems

# Gemfile
gem 'activeadmin'
gem 'switch_user'

Configure switch_user

# config/initializers/switch_user.rb
SwitchUser.setup do |config|
  config.provider = :devise

  # Make sure an admin user is signed in
  config.controller_guard = lambda do |current_user, request|
    request.env["action_controller.instance"].admin_user_signed_in?
  end

  config.view_guard = lambda { |current_user, request| false } # don't need this
  config.redirect_path = lambda { |request, params| '/' }
end

Add link to admin/users#show

# app/admin/users.rb
ActiveAdmin.register User do
  show do |user|
    attributes_table do
      row :sign_in_as do
        link_to "Sign in as", "/switch_user?scope_identifier=user_#{user.id}"
      end
      # ...
    end
  end
  # ...
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment