在Thorntail WildFly服务器中添加应用程序用户的最简单方法是什么?

时间:2019-03-30 10:29:20

标签: thorntail

正如标题中所述,有没有一种方法可以在Thorntail WilFly服务器中添加应用程序用户,就像您在整个服务器发行版中使用“ add-user.sh -a”脚本一样?
我知道您可以为Thorntail提供外部配置文件,但这仅是用于指定用户位置似乎有些开销。 谢谢

2 个答案:

答案 0 :(得分:3)

Thomas Herzog的回答从概念上讲非常好-我特别同意使用外部Keycloak保护应用程序的安全,并可能借助MicroProfile JWT。我只是提供一些要点,以防您决定不这样做。

您可以直接在project-defaults.yml中定义用户,如下所示:

thorntail:
  management:
    security-realms:
      ApplicationRealm:
        in-memory-authentication:
          users:
            bob:
              password: tacos!
        in-memory-authorization:
          users:
            bob:
              roles:
              - admin

project-defaults.yml文件不必不必在应用程序外部,您可以将其直接构建到应用程序中。通常,在您的源代码中,文件将位于src/main/resources中,并且在构建后将其嵌入-thorntail.jar中。当然,它可以是 外部的,如果这不是一次性原型或测试之外的其他东西,则像这样的敏感数据应该是外部的。

您还可以使用WildFly的.properties文件:

thorntail:
  management:
    security-realms:
      ApplicationRealm:
        properties-authentication:
          path: .../path/to/application-users.properties
        properties-authorization:
          path: .../path/to/application-roles.properties

答案 1 :(得分:1)

这取决于您需要什么用户? Thorntail创建独立的微服务,这与Wildfly服务器中的托管应用程序不同。

在thorntail中有一个管理控制台吗?

是的,但我从未使用过。

https://docs.thorntail.io/2.2.0.Final/#_management

https://docs.thorntail.io/2.2.0.Final/#_management_console

您可能能够在其中创建的用户不应该是持久的,因为没有像常规的独立flyfly-server安装那样习惯使用wildfly-server安装,而是全部打包在jar中。部署后,不再需要配置微服务,至少不需要这样。

如何保护我的应用程序?

我建议通过密钥斗篷使用外部用户管理,该密钥斗篷通过密钥斗篷集成在荆棘中。使用keycloak分数,您可以在web.xml中为端点定义安全约束。

https://docs.thorntail.io/2.2.0.Final/#_keycloak

另一种方法是使用为您的微服务提供JAAS支持的安全性部分。

https://docs.thorntail.io/2.2.0.Final/#_security

通过thorntail特定的project-defaults.yml配置文件完成配置,您可以在其中通过YAML配置分数。

什么是荆棘分数?

一个尖尾分数类似于带有spring的spring boot start依赖关系,由此该分数提供了用于开发的API,并将实现和集成捆绑在一起。实际上,这部分是一个jboss模块,该模块在重新打包阶段被打包到独立的微服务中。

在哪里可以找到示例?

有关如何在thorntail中使用安全性的示例,请参见以下链接。您应该看看它们。

https://github.com/thorntail/thorntail-examples/tree/master/security

看一看 src / main / resources / projects-defaults.yml ,其中包含刺尾馏分的配置以及 pom.xml ,它定义了所用的馏分