Ruby on rails 拒绝rails应用程序中的来宾访问

Ruby on rails 拒绝rails应用程序中的来宾访问,ruby-on-rails,authorization,declarative-authorization,Ruby On Rails,Authorization,Declarative Authorization,我想完全锁定一个Rails应用程序,这样所有未被明确授权用于特定用户角色的路由都会被拒绝(403) 我继承了这个应用程序,所以我对这个框架的理解很差,但现在看来我有相反的想法:除非我明确关闭它,否则一切都是开放的 我有一个authorization_rules.rb文件,我没有给来宾角色任何权限,但我仍然可以访问页面而不需要登录。我想我可以一页一页地进入,确保一个页面需要授权(过滤访问权限?),但我可能会错过一个。我怎么能关闭所有东西,然后只在我明确允许的地方打开access 这是在使用Rail

我想完全锁定一个Rails应用程序,这样所有未被明确授权用于特定用户角色的路由都会被拒绝(403)

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

我有一个authorization_rules.rb文件,我没有给来宾角色任何权限,但我仍然可以访问页面而不需要登录。我想我可以一页一页地进入,确保一个页面需要授权(过滤访问权限?),但我可能会错过一个。我怎么能关闭所有东西,然后只在我明确允许的地方打开access


这是在使用Rails 2.3.5。

假设应用程序使用
before\u filter
来限制访问,您可以在应用程序控制器中移动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]

假设应用程序使用
before\u filter
来限制访问,您可以在应用程序控制器中移动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]

您的应用程序\u控制器中是否有require\u user方法?如果是这样,只需在应用程序控制器中添加一个before\u过滤器:require\u user,:except=>[:login]您的应用程序控制器中是否有require\u user方法?如果你这样做了,只需在你的应用程序控制器中添加一个before\u filter:require\u user,:except=>[:login]我将继续并接受这一点,因为在我的应用程序控制器中添加:filter\u访问权限的部分是我所缺少的。一旦我做到了这一点,我就能够通过config/authorization\u rules.rb来控制访问。我将继续并接受这一点,因为在我的应用程序控制器中放置:filter\u访问是我所缺少的。一旦我这样做了,我就能够通过config/authorization_rules.rb控制访问。