1

我为一个组织工作,该组织托管许多其他组织使用的应用程序,这些应用程序位于一个层次结构中(我在教育领域工作)。 本文详细介绍了他们所谓的“ROBAC”,它确定并提出了一种我们希望尝试实施的访问控制新模型。有没有人通过 Thinktecture 或任何其他基于 .NET/Katana 的技术实现 IdentityServer 的经验?

是否可以使用 OAUTH2/OpenId 来实现 ROBAC/OrBac 模型?如果是这样,是否有任何可用的文档说明如何执行此操作?

4

1 回答 1

1

您需要的是 ABAC(基于属性的访问控制)和可能的 XACML(实现 ABAC 的可扩展访问控制标记语言)。

ABAC 足够通用,可以实现 RBAC、ROBAC 和一般 *-bac。在 ABAC 中,您可以定义所需的属性。这些属性可以是:

  • 用户,例如角色、部门、年龄、权限...
  • 他们试图访问的对象(资源),例如文档、分类、所有者、作者、状态...
  • 他们想要对该对象执行的操作,例如查看、删除、批准...
  • 上下文,例如一天中的时间。

然后,您将这些属性组合到策略中,例如

如果文档状态为草稿并且用户的部门等于文档的部门,则具有发布者角色的用户可以对文档执行操作发布

ABAC/XACML 上有很多资源。查看:

  • ABAC 上的 NIST 项目页面
  • OASIS XACML 标准页面
  • Axiomatics Policy Server Express Edition - ABAC 的轻量级实现。
于 2015-12-12T11:41:00.633 回答