【Spring Boot Admin】使用(整合Spring Security服务,添加鉴权)
发布人:shili8
发布时间:2025-02-20 18:19
阅读次数:0
**Spring Boot Admin 使用指南**
**概述**
Spring Boot Admin 是一个用于管理 Spring Boot 应用的工具。它提供了一个 web 界面来监控应用的运行状态,包括配置、日志、性能等信息。然而,在实际使用中,我们可能需要对其进行一些扩展和定制,以适应我们的需求。在本文中,我们将介绍如何整合 Spring Security服务到 Spring Boot Admin 中,并添加鉴权功能。
**依赖**
首先,我们需要在 `pom.xml` 文件中添加以下依赖:
xml<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
**配置**
接下来,我们需要在 `application.properties` 文件中添加以下配置:
propertiesmanagement.endpoints.web.exposure.include=* spring.security.user.name=adminspring.security.user.password=password
这里,我们设置了管理端口为8080,用户名和密码分别为 admin 和 password。
**Spring Security 配置**
我们需要在 `SecurityConfig.java` 文件中添加以下配置:
java@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity throws Exception { /> .antMatchers("/actuator/**").hasRole("ADMIN") .anyRequest().authenticated() .and() . /> } }
这里,我们设置了所有的管理端口(/actuator/**)都需要有 admin 角色的用户才能访问。
**Spring Boot Admin 配置**
我们需要在 `AdminConfig.java` 文件中添加以下配置:
java@Configurationpublic class AdminConfig { @Bean public SpringBootAdminServer springBootAdminServer() { return new SpringBootAdminServer(); } }
这里,我们创建了一个 Spring Boot Admin服务器实例。
**整合**
最后,我们需要在 `SpringBootApp.java` 文件中添加以下配置:
java@SpringBootApplication@EnableDiscoveryClientpublic class SpringBootApp { public static void main(String[] args) { SpringApplication.run(SpringBootApp.class, args); } }
这里,我们启用了发现客户端功能。
**测试**
我们可以使用 Postman 或其他工具来测试我们的应用。首先,我们需要启动 Spring Boot Admin服务器:
bashmvn spring-boot:run -Dspring-boot.admin.port=8080
然后,我们可以使用 Postman 来访问管理端口:
* GET JSON 响应,包含应用的信息。
* GET JSON 响应,包含应用的性能指标。
**总结**
在本文中,我们介绍了如何整合 Spring Security服务到 Spring Boot Admin 中,并添加鉴权功能。我们使用了 Spring Boot Admin 的默认配置,并添加了 Spring Security 的配置。我们还测试了我们的应用,确保它能够正常工作。