【问题标题】:Implement a role and authorization concept with Wolkenkit?使用 Wolkenkit 实现角色和授权概念?
【发布时间】:2019-05-10 02:20:27
【问题描述】:

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

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

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

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

提前感谢您的帮助。

【问题讨论】:

    标签: wolkenkit


    【解决方案1】:

    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 背后的公司)工作,所以请对我的回答持保留态度。

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 2018-08-27
      相关资源
      最近更新 更多