【问题标题】:Level based acces control in ruby on railsruby on rails 中基于级别的访问控制
【发布时间】:2010-11-19 15:03:16
【问题描述】:

我想在我的 ruby​​ on rails 应用程序中实现基于级别的访问控制。 像那里一样,较低级别的用户将无法访问其父级的数据。 示例

主要管理员 | |___ 副管理员1 | | | | | |___ SA1_USER1 | | | |___ SA1_USER2 | | | |___ 副管理员2 | |___ SA2_USER1 | | | |__End_user1 | |__End_user2 | |___ SA2_USER2

在上面的结构中,每个用户都可以创建一条记录。但将根据层次结构查看记录。 就像 Main Admin 可以访问所有记录一样,Sub Admin1 可以访问自己创建的记录,SA1_user1 和 sa1_user2 等等..

有没有什么好的插件可以在 ruby​​ on rails 中实现这个?

谢谢, 普拉温。

【问题讨论】:

    标签: ruby-on-rails access-control


    【解决方案1】:

    我不知道有什么插件,但自己写也不会那么难。您只需要在您希望人们访问的每条创建记录上都有一个 owner_id,并且每个用户都有一个父用户,然后您将为 user.is_ancestor_of 编写一个模型方法? record.owner 随时检查用户尝试访问记录。

    【讨论】:

    • 是的,我有这个想法。是否有任何方法可以返回节点的所有祖先以及节点的所有子节点。
    • 据我所知没有类似的东西,你可能不得不从头开始编写它。希望其他人能提供更多信息。
    • 有一个不错的插件ancestry,我用来实现这个的。
    • 对于层次管理有一个不错的插件祖先github.com/stefankroes/ancestry
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    相关资源
    最近更新 更多