簡體   English   中英

無法使skip_before_filter與Rails中的ActiveAdmin一起使用

[英]Can't get skip_before_filter to work with ActiveAdmin in Rails

我正在使用devise gem進行身份驗證,並且在ApplicationController中具有以下before_filter:

  before_filter :require_login

  def require_login
    unless user_signed_in? || params[:controller] == 'devise/sessions'
      flash[:error] = "You must be logged in to access that page."
      redirect_to new_user_session_path
    end
  end

我最近實現了ActiveAdmin gem,並試圖使skip_before_filter對ActiveAdmin起作用,以便我可以訪問ActiveAdmin。 我試圖在此介紹的方法 ,加入以下配置/初始化/ active_admin.rb:

  config.skip_before_filter :require_login

並將以下內容添加到我的一個管理模型文件listing.rb中:

ActiveAdmin.register Listing do

  controller do
    skip_before_filter :require_login
  end

end

但即使重新啟動服務器和瀏覽器后,它似乎也不起作用。

我究竟做錯了什么?

有兩件事:

第一:我認為您使用Devise的效率低下。 代替application_controller上的自定義登錄方法,您應該:

class ApplicationController 
  before_filter :authenticate_user!
end

就是這樣-其他一切正常。

第二:Active Admin使用不同的用戶類-“ admin_user”(而不是“ user”)。 默認情況下,您將使用以下憑據:

email: admin@example.com 
password: password

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM