1

我想完全锁定 Rails 应用程序,以便拒绝所有未明确授权给特定用户角色的路由 (403)。

我继承了这个应用程序,所以我对框架的理解很差,但目前看来我正好相反:除非我明确关闭它,否则一切都是开放的。

我有一个 authorization_rules.rb 文件,我没有给来宾角色任何权限,但我仍然可以在不登录的情况下访问页面。我想我可以逐页进入并确保页面需要授权(filter_access_to ?) ,但我可能会错过一个。我怎样才能关闭一切,然后只在我明确允许的地方打开访问?

这是使用 Rails 2.3.5。

4

1 回答 1

1

假设应用程序用于before_filter限制访问,您可以在应用程序控制器中移动 before 过滤器,并在各个控制器中为特定操作跳过它:

#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]
于 2011-08-16T04:57:08.327 回答