使用 Wolkenkit 实现角色和授权概念?

Implement a role and authorization concept with Wolkenkit?

我最近开始使用 Wolkenkit,我想知道是否有可能实现某种角色概念?

我已经找到了 这已经很有趣了,让我初步了解了如何解决这个问题,但同时它并不是我所需要的。

在我的用例中,我需要一个可以随时更改的动态角色概念,以便授予和撤销对我应用程序某些部分的访问权限。

理想情况下,这将是一种允许我在 运行 时间将命令和事件与多个角色相关联的机制。是否有关于此主题的任何新方法或任何已经完成的示例?

提前感谢您的帮助。

wolkenkit的授权概念是基于令牌的。

因此,最简单的做法是让身份提供者添加角色声明,如 (您已链接到的文章)中所述。这是开箱即用的,除了读取令牌和评估其声明外,您无需为 wolkenkit 应用程序提供特殊逻辑。但是,这仅适用于静态角色模型,因为每次角色分配更改时您都需要更改身份提供者的配置。

如果您需要更动态的方法,很遗憾,现在您只能靠自己的设备了。您可以做的是将 属性 添加到您的聚合中,其中包含您希望能够访问聚合的一组角色(或用户 ID)。然后,在每个命令中,您需要根据此数组检查当前用户。但是,这仍然意味着您有预定义的角色,您可以允许或限制特定角色在运行时访问聚合。

如果您需要更动态的方法,例如临时组建角色,例如要与您手边只想创建的组共享数据,您最终会得到我们所说的基于组的授权。目前,没有对此的支持,而且 AFAIK 还没有人实施过类似的东西。 wolkenkit roadmap, but right now unfortunately there is no ETA available (maybe this is something you could contribute to wolkenkit?).

对此提供支持

无论哪种方式,您都需要确保您的身份提供者配置正确并且 wolkenkit 已相应设置,如 .

中所述

免责声明:我是 wolkenkit 的核心开发人员之一,在 the native web(wolkenkit 背后的公司)工作,所以请对我的回答持保留态度。