1

我使用设计进行身份验证,并为每个用户分配了一个角色。我还有一个posts包含帖子数量的模型。我想限制该角色的一个用户employee查看特定帖子,并限制同一用户查看和创建不同的帖子。我怎样才能做到这一点?

4

2 回答 2

2

我意识到我在这里的战斗迟到了。

您正在寻找的是基于角色的访问控制的扩展。RBAC 不能很好地满足您的方案。您需要考虑基于属性的访问控制。CanCan 和 Devise 是两个特定于语言的框架,用于解决基于属性的访问控制。

如果您想要更广泛、更通用的 ABAC 解决方案,请考虑 XACML,即可扩展访问控制标记语言,它是 OASIS 定义的标准,与 SAML 非常相似。

XACML 为您提供:

  • 基于属性的访问控制:属性可以用来描述几乎任何东西(用户、对象、资源、上下文、时间、动作……)。
  • 基于策略的访问控制:策略汇集属性来定义授权。例如,员工可以查看同一团队中员工的帖子,并可以编辑他们拥有的帖子
  • 细粒度访问:可以定义非常具体和细粒度的授权策略
  • 支持职责分离
  • 独立于语言的授权:它适用于 Java、.NET、Ruby、Python 等...
  • 集中策略管理

以下是一些有趣的资源,可以了解更多信息:

于 2013-12-10T14:51:57.317 回答
0

查看本教程,它指定了定义逻辑来控制用户活动的能力

https://github.com/EppO/rolify/wiki/Using-rolify-with-Devise-and-Authority

于 2012-10-19T19:30:50.097 回答