2011-06-20 76 views
1

我有一個從Devise :: RegistrationsController繼承的控制器。我已經向控制器添加了一個顯示操作。問題是,即使在用戶註銷時,他們可以訪問此動作,即使在我的控制器的頂部,我有:Devise :: RegistrationsController#show

before_filter :authenticate_user!, :except => [:new, :create]

爲什麼不是的authenticate_user!禁止訪問我的節目操作?

回答

0

我與我的應用程序的一個測試這一點。過濾器authentication_person! (在我的情況下是人)適用於所有其他控制器,但不適用於從Devise :: RegistrationsController繼承的控制器。這可能是設計中的問題或限制。需要添加到github討論的問題。

其他解決方法可以創建一個篩選器方法should_be_logged_in?進入應用程序控制器,然後檢查person_signed_in?幫手和相應的重定向。

0

可能是與身份驗證範圍的問題.. 嘗試添加下列到你的控制器:

prepend_before_filter :authenticate_scope!, :only => [:edit, :update, :destroy, :show] 
+0

不好。仍然能夠訪問演出活動。 –

+0

重載authenticate_user!函數與一些一些調用記錄器,看看函數是否甚至射擊... – colinross

相關問題