0

我的 Rails 应用程序中有 Devise 和 CanCan。我认为默认情况下,如果用户尝试登录到未经授权的页面,它应该将用户重定向到登录页面。但不知何故,它不适用于我的应用程序。

如果不是全局的(即,对于所有控制器/方法),我如何实施检查用户是否被授权并重定向到家?

更新:更新 jquery 后,我的 CanCan 似乎不再工作了。

谢谢你。

4

2 回答 2

1

它应该工作,向我们展示您的routes.rb文件。要检查只需before_filter :authenticate_member!在控制器类的顶部添加。

于 2012-04-07T22:21:15.103 回答
1

这就是我使用自己的自定义身份验证(可能与设计类似)的方式(在 routes.rb 中):

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

这是有效的,因为路由按照它们指定的顺序匹配。

于 2012-04-07T22:05:34.150 回答