【发布时间】:2015-07-07 02:55:49
【问题描述】:
我正在学习使用 Pundit 进行授权。但我看到它的方式是授权资源而不是页面。如果用户无权使用 pundit 访问该页面,我希望将用户重定向到未经授权的页面。
例如
class OnlyAdminCanVisitController < ApplicationController
before_filter :admin_authenticate
停止非管理员角色用户。
另外,我想处理像以下这样的虚构场景(考虑到有 4 个角色,管理员、经理、员工、局外人。下面的设计显然很糟糕)
class AdminManagerCanVisitController < ApplicationController
before_filter :admin_or_manager_authenticate
class AdminEmployeeCanVisitController < ApplicationController
before_filter :admin_or_employee_authenticate
class AdminOutsiderCanVisitController < ApplicationController
before_filter :admin_or_outsider_authenticate
class AdminManagerEmployeeCanVisitController < ApplicationController
before_filter :admin_or_manager_employee_authenticate
我有 4 个角色,想为这些控制器编写权威策略,允许任意组合授权。
如果权威人士旨在解决这个问题,请告诉我。
谢谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 pundit