【发布时间】:2011-03-29 21:19:06
【问题描述】:
我使用过 cancan 并且我知道声明式授权,但似乎它们并没有让角色有机会依赖自定义变量。
型号:
域(blah.qwe.com、wer.qwe.com、ert.qwe.com) - 我需要它们在一个数据库和应用程序中。
用户(可以有多个角色)
角色(每个角色仅在其域中工作;能力是可编辑的)
...
例如,我有一个用户,他是 blah.qwe.com 域的所有者,但他是 wer.qwe.ru 和 ert.qwe.com 的普通用户,他被禁止了,什么也做不了。
@current_domain 被加载到应用控制器的 before_filter 中(通过 current_domain 方法),而 current_user 被 devise 加载。 使授权依赖于当前请求的资源(如在 cancan 中)、current_user 和 current_domain(可能还有其他 before_filter 加载的变量)的解决方案是什么? 在 cancan 中是否有解决方案,或者我应该修改或编写我自己的自定义授权系统?
【问题讨论】:
标签: ruby-on-rails-3 authorization cancan