2012-04-07 36 views
0

我的Rails應用程序中有Devise和CanCan。我認爲默認情況下,如果用戶嘗試登錄到未經授權的頁面,它應該將用戶重定向到登錄頁面。但不知何故,它不適用於我的應用程序。如果未在Rails中授權,則重定向到登錄頁面

如何實現一個檢查,如果用戶被授權並重定向到家庭(如果不是全局的話)(即,對於所有的控制器/方法)?

更新:似乎我的CanCan在更新jquery後不工作了。

謝謝。

回答

1

它應該工作,告訴我們您的routes.rb文件。檢查只需在控制器類的頂部添加before_filter :authenticate_member!

1

這是我如何做到這一點(在routes.rb中)與自己的自定義驗證(可能與色器件類似):

root :to => '<controller#action_needing_authorization>', :constraints => lambda{|req| !req.session[:user_id].blank? } 
root :to => 'sessions#new' 

這工作,因爲路由在他們指定的順序匹配。

相關問題