我試圖在我現有的rails 3.0.9應用程序中實現switch_user gem。 上有我的應用程序兩種型號,它們是用Devise + Active Admin + Switch登錄其他用戶的帳戶用戶
- 用戶 - 爲我的客戶賬戶,它HAS_ONE帳戶
- ADMINUSER - 這是由ActiveAdmin
我已經爲Users
啓用了設計驗證,並且ActiveAdmin也與一起工作得非常好。現在,從我的Active Admin界面中,我想選擇帳戶並像帳戶所有者一樣登錄到這些帳戶。切換用戶工作正常,但問題是任何人都可以簡單地登錄到現在的用戶帳戶,如果他們知道的網址。
http://localhost:3000/switch_user?scope_identifier=user_1
所有我需要的是隻允許一個管理用戶(即如果有ActiveAdmin會議)訪問用戶的帳戶。
這是我/config/initializers/switch_user.rb看起來像
SwitchUser.setup do |config|
config.controller_guard = lambda { |current_user, request| current_admin_user.nil?}
config.redirect_path = lambda { |request, params| "/dashboard" }
end
但我得到這個錯誤
NameError in SwitchUserController#set_current_user
undefined local variable or method `current_admin_user' for main:Object
反正我有可以訪問活動admin會話?
代碼/config/initializers/active_admin.rb
ActiveAdmin.setup do |config|
config.site_title = "MyAppName"
config.authentication_method = :authenticate_admin_user!
config.current_user_method = :current_admin_user
end
順便說一句我的應用程序控制器我尚未創建authenticate_admin_user
,current_admin_user
主動管理工作正常,沒有他們的任何方法。
我嘗試了幾乎所有我能想到但仍然沒有運氣的東西。其他人請嗎? – randika 2012-01-03 12:33:16