我想完全锁定Rails应用程序,以便拒绝所有未明确授权特定用户角色的路由(403)。
我继承了这个应用程序,所以我对框架的理解很差,但目前看来我的情况相反:除非我明确关闭它,否则一切都是开放的。
我有一个authorization_rules.rb文件,并且我已经给了访客角色没有权限,但我仍然可以在不登录的情况下访问页面。我想我可以逐页访问确保页面需要授权(filter_access_to?),但我可能会错过一个。我怎样才能关闭所有内容,然后只在我明确允许的情况下打开访问权限?
这是使用Rails 2.3.5。
答案 0 :(得分:1)
假设应用程序使用before_filter
来限制访问,您可以在应用程序控制器中移动之前的过滤器,并跳过它以在各个控制器中执行特定操作:
#app/controllers/application_controller.rb
before_filter :filter_access
#app/controllers/your_specific_controller.rb
skip_before_filter :filter_access, :only => [:action1_accessible_by_guest, :action2_accessible_by_guest]