第 3 章 使用带有 Spring Boot 的 Red Hat Single Sign-On
Red Hat Single Sign-On 客户端适配器是库,它非常容易使用 Red Hat Single Sign-On 来保护应用程序和服务。您可以使用 Keycloak Spring Boot 适配器来保护 Spring Boot 项目。
3.1. 在 Spring Boot Container 中使用 Red Hat Single Sign-On 复制链接链接已复制到粘贴板!
要保护 Spring Boot 应用程序,请将 Keycloak Spring Boot 适配器 JAR 添加到您的项目中。Keycloak Spring Boot 适配器利用 Spring Boot 的自动配置功能,因此您需要做的都是将 Keycloak Spring Boot Start 添加到项目中。
流程
要手动添加 Keycloak Spring Boot starter,请将以下内容添加到项目的
pom.xml
中。<dependency> <groupId>org.keycloak</groupId> <artifactId>keycloak-spring-boot-starter</artifactId> </dependency>
<dependency> <groupId>org.keycloak</groupId> <artifactId>keycloak-spring-boot-starter</artifactId> </dependency>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加 Adapter BOM 依赖项。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将您的 Spring Boot 项目配置为使用 Keycloak。您可以使用正常的 Spring Boot 配置为 Spring Boot Keycloak 适配器配置域,而不是
keycloak.json
文件。例如,将以下配置添加到src/main/resources/application.properties
文件中。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以通过设置
keycloak.enabled = false
来禁用 Keycloak Spring Boot Adapter (例如在测试中)。要配置 Policy Enforcer,与keycloak.json
不同,必须使用policy-enforcer-config
而不是只使用policy-enforcer
。在
web.xml
中指定 Java EE 安全配置。Spring Boot Adapter 会将login-method
设置为 KEYCLOAK,并在启动时配置security-
constraint。下面是一个示例配置。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注: 如果您计划将 Spring 应用程序部署为 WAR,则不要使用 Spring Boot Adapter。将专用适配器用于您正在使用的应用服务器或 servlet 容器。Spring Boot 也应包含
web.xml
文件。