Keycloak根据位置设置不同的用户角色



场景是在国内的两个城市中有两个零售商店,它们共享一个运行在云中的keycloak实例。我们有一个web应用程序来管理商店活动和不同职位的员工,但仅限于他们工作的商店。

为简单起见,假设有两个不同的角色:Shop Manager和Seller。我们希望给定商店的员工可以根据自己的角色通过web门户访问属于自己商店的数据,而不是其他商店的数据。

现在我们发现管理这个的唯一方法是实际上有一个单独的数据库,我们跟踪每个用户id属于哪个商店,但是我们在考虑是否有可能通过keycloak直接管理这个,有能力说:"Jim是商店1的经理,而不是商店2的经理"。不知道这是否真的可以通过作用域或其他方式实现。

您可以通过组层次结构将角色按组分开。例如,您可以创建这样的层次结构:

/Shop1/Manager
/Shop1/Seller
and
/Shop2/Manager
/Shop2/Seller

然后你可以添加组访问或/和id令牌通过组成员映射器

最新更新