在 Thorntail WildFly 服务器中添加应用程序用户的最简单方法是什么?
What is the simplest way to add application users in a Thorntail WildFly server?
如标题所述,有没有办法在 Thorntail Wilfly 服务器中添加应用程序用户,就像您在完整服务器分发版中使用 "add-user.sh -a" 脚本一样?
我知道您可以为 Thorntail 提供一个外部配置文件,但是仅仅为了指定用户所在的位置,这似乎有点开销。
谢谢
这要看你需要的用户是什么? Thorntail 创建独立的微服务,这与 wildfly-server 中的托管应用程序不同。
thorntail 中有管理控制台吗?
有,但我没用过。
https://docs.thorntail.io/2.2.0.Final/#_management
https://docs.thorntail.io/2.2.0.Final/#_management_console
您也许可以在那里创建的用户不应该是持久的,因为没有像您习惯的独立 wildfly-server 安装那样安装 wildfly-server,它全部打包在 jar 中。微服务在部署后应该不再需要配置了,至少不需要这样。
如何保护我的应用程序?
我建议通过 keycloak 使用外部用户管理,它通过 keycloak 部分集成在 thorntail 中。使用 keycloak 分数,您可以在 web.xml.
中为您的端点定义类似的安全约束
https://docs.thorntail.io/2.2.0.Final/#_keycloak
另一种方法是使用安全部分,它为您的微服务提供 JAAS 支持。
https://docs.thorntail.io/2.2.0.Final/#_security
配置是通过 thorntail 特定项目-defaults.yml 配置文件完成的,您可以在其中通过 YAML 配置分数。
什么是刺尾分数?
thorntail 分数类似于 spring 引导启动依赖项 spring,其中分数为开发提供 API 并将实现和集成捆绑到 thorntail 中。该分数实际上是一个 jboss 模块,在重新打包阶段打包到独立微服务中。
在哪里可以找到示例?
有关如何在 thorntail 中使用安全性的示例,请参见以下链接。你应该看看它们。
https://github.com/thorntail/thorntail-examples/tree/master/security
查看 src/main/resources/projects-defaults.yml,其中包含刺尾分数的配置和 pom.xml 定义了使用的分数。
从概念的角度来看,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
如标题所述,有没有办法在 Thorntail Wilfly 服务器中添加应用程序用户,就像您在完整服务器分发版中使用 "add-user.sh -a" 脚本一样?
我知道您可以为 Thorntail 提供一个外部配置文件,但是仅仅为了指定用户所在的位置,这似乎有点开销。
谢谢
这要看你需要的用户是什么? Thorntail 创建独立的微服务,这与 wildfly-server 中的托管应用程序不同。
thorntail 中有管理控制台吗?
有,但我没用过。
https://docs.thorntail.io/2.2.0.Final/#_management
https://docs.thorntail.io/2.2.0.Final/#_management_console
您也许可以在那里创建的用户不应该是持久的,因为没有像您习惯的独立 wildfly-server 安装那样安装 wildfly-server,它全部打包在 jar 中。微服务在部署后应该不再需要配置了,至少不需要这样。
如何保护我的应用程序?
我建议通过 keycloak 使用外部用户管理,它通过 keycloak 部分集成在 thorntail 中。使用 keycloak 分数,您可以在 web.xml.
中为您的端点定义类似的安全约束https://docs.thorntail.io/2.2.0.Final/#_keycloak
另一种方法是使用安全部分,它为您的微服务提供 JAAS 支持。
https://docs.thorntail.io/2.2.0.Final/#_security
配置是通过 thorntail 特定项目-defaults.yml 配置文件完成的,您可以在其中通过 YAML 配置分数。
什么是刺尾分数?
thorntail 分数类似于 spring 引导启动依赖项 spring,其中分数为开发提供 API 并将实现和集成捆绑到 thorntail 中。该分数实际上是一个 jboss 模块,在重新打包阶段打包到独立微服务中。
在哪里可以找到示例?
有关如何在 thorntail 中使用安全性的示例,请参见以下链接。你应该看看它们。
https://github.com/thorntail/thorntail-examples/tree/master/security
查看 src/main/resources/projects-defaults.yml,其中包含刺尾分数的配置和 pom.xml 定义了使用的分数。
从概念的角度来看,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