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

时间:2018-12-08 16:12:40

标签: wolkenkit

我最近开始与Wolkenkit合作,我想知道是否有可能实施某种角色概念?

我已经发现Wolkenkit: ACLs for authorization and user roles非常有趣,并且给了我第一个解决方法的想法,但同时这并不是我真正需要的。

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

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

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

wolkenkit的授权概念基于令牌。

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

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

如果您需要更动态的方法,例如临时设置角色,例如要与您只想创建的组共享数据,您将得到我们称为基于组的授权。目前,尚无对此的支持,并且AFAIK尚无人实现这样的功能。 wolkenkit roadmap对此提供了支持,但不幸的是,目前尚无可用的ETA(也许您可以contribute to wolkenkit来使用?)。

无论哪种方式,您都需要确保正确配置了身份提供者并相应地设置了wolkenkit,如wolkenkit redirects to Auth0 even when user is logged in中所述。

免责声明:我是wolkenkit的核心开发人员之一,曾在the native web(wolkenkit背后的公司)工作,所以请花些心思。