1

我使用devise進行身份驗證,併爲每個用戶分配一個角色。我還有一個模型posts其中包含帖子數量。我想限制角色employee的一個用戶查看特定帖子和同一用戶以查看和創建不同的帖子。我怎樣才能做到這一點?具有相同角色的用戶如何以不同的權限訪問不同的帖子?

+0

結帳慘慘:) https://github.com/ryanb/cancan – Novae

+0

我一直在使用康康舞已經分配給用戶的角色,但我想問的是有些不同。 – logesh

+0

那麼你能否詳細闡述一下你想達到的目標? – Novae

回答

2

我知道我遲到了這裏的戰鬥能力。

你在找什麼是基於角色的訪問控制的擴展。 RBAC無法滿足您的場景。您需要考慮基於屬性的訪問控制。 CanCan和Devise是針對基於屬性的訪問控制的兩種語言特定框架。

如果您想要更廣泛的,更通用的ABAC解決方案,那麼可以考慮XACML--可擴展訪問控制標記語言,它是OASIS定義的標準,就像SAML一樣。

XACML爲您提供:

  • 基於屬性的訪問控制:屬性可以用來描述幾乎任何東西(用戶,對象,資源,背景,時間,動作...)。
  • 基於策略的訪問控制:策略將特性集中在一起以定義授權。例如員工可以查看同一團隊中員工的帖子,並可以編輯他們自己的帖子
  • 細粒度的訪問:它是可以定義非常具體和精細授權策略的職責分離
  • 支持
  • 與語言無關的授權:它的工作原理爲Java,.NET,Ruby的,Python和更多。 ..
  • 集中的策略管理

下面是一些相關資源,以瞭解更多:

相關問題