【问题标题】:Authorization in Rails 3 dependent on variables (not only user and current resource)Rails 3 中的授权依赖于变量(不仅是用户和当前资源)
【发布时间】: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


    【解决方案1】:

    你检查this了吗?您可以将请求中的任何内容包含在能力计算中。

    【讨论】:

    • 很棒的发现...一直在寻找这个!
    猜你喜欢
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 2013-09-22
    • 2021-08-31
    相关资源
    最近更新 更多