【发布时间】:2018-03-22 00:31:04
【问题描述】:
我有以下设置 - Spring SAAS REST 服务,它允许不同的公司管理不同的事件。还有一个休息客户端(一个移动应用程序),为每家公司单独发货。 我想将 keycloak 用于安全方面,但我有一个问题是如何将一家公司与另一家公司分开。
我需要 companyA 不能访问 companyB 事件,还需要公司内的不同角色 - 有些可以创建事件,有些只能读取它。
首先我以为每个公司都会在 keycloak 中创建自己的领域,但我了解到该领域实际上是在 spring boot REST 服务参数中指定的,例如
keycloak.realm=demo-realm
这意味着每个 REST 应用程序只有一个领域。而且我不想为每个客户端配置 REST 服务实例。我只想要一个 REST 规则。
我是否在尝试使用真正不适合我的用例的东西?
为每个公司配置一个 keycloack 组是否是正确的方法,并以这样一种方式制定逻辑,使一个组的用户无法访问其他组创建的内容。但实际上感觉不对,因为据我了解,组应该以不同的方式使用 - 拥有管理组和用户组等,通过“权限”“垂直”隔离用户,而不是“水平”。
您能否为这个问题提出一个正确的方法?
【问题讨论】: