我最近开始与Wolkenkit合作,我想知道是否有可能实现某种角色概念?
我已经找到了已经相当有趣的Wolkenkit:用于授权和用户角色的ACL,并且给了我一个关于如何解决这个问题的第一个想法,但同时它也不是我所需要的。
在我的用例中,我需要一个动态角色概念,它可以在任何时候被更改,以便授予和撤销对我的应用程序的某些部分的访问。
理想情况下,它是一种允许我在运行时将命令和事件与多个角色关联起来的机制。是否有任何关于这一主题的新方法或已经这样做的任何例子?
谢谢你提前帮忙。
发布于 2018-12-08 17:35:54
沃肯吉的授权概念是基于令牌的。
因此,最简单的方法就是让身份提供者添加角色声明,如用于授权和用户角色的ACL (您已经链接到的文章)中所描述的那样。这是开箱即用的,您不必为您的wolkenkit应用程序提供特殊的逻辑,只需读取令牌并评估其声明。但是,这只适用于静态角色模型,因为每次角色分配更改时,您都需要更改标识提供程序的配置。
如果您需要一种更动态的方法,那么现在不幸的是,您只剩下自己的设备了。您可以做的是向聚合中添加一个属性,该属性包含希望能够访问聚合的角色数组(或用户is )。然后,在每个命令中,您需要对照这个数组检查当前用户。但是,这意味着您有预定义的角色,您只需要允许或限制特定角色在运行时对聚合的访问。
如果您需要一种更动态的方法,比如临时组合角色,例如与您想要创建的组共享数据,那么您将得到我们所称的基于组的授权。目前,还没有人支持这一点,而且AFAIK还没有实现这样的功能。wolkenkit路线图对此提供了支持,但不幸的是,目前还没有可用的ETA (也许您可以对wolkenkit的贡献吗?)。
无论哪种方式,您都需要确保您的身份提供程序配置正确,并相应地设置了wolkenkit,如即使在用户登录时,wolkenkit也重定向到Auth0中所述。
免责声明:我是wolkenkit的核心开发人员之一,在https://www.thenativeweb.io/ (wolkenkit背后的公司)工作,所以请接受我的回答。
https://stackoverflow.com/questions/53684396
复制相似问题