2012-04-07 84 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' 

这工作,因为路由在他们指定的顺序匹配。

相关问题