SpringBootAdmin学习文档
程序员文章站
2022-05-12 13:17:25
SpringBootAdmin学习文档说明:SpringBootAdmin监控分为server和client两部分,具体需监控的项目称为client,展示给开发者的web页面查看为server服务。不使用注册中心集成SpringBootAdmin:在实际应用中需要开发者在所要监控的服务中引入spring-boot-admin-starter-client依赖,若对应的SpringBootAdmin项目已经集成了spring-boot-starter-security还需配置对应的登录账号。使...
SpringBootAdmin学习文档
说明:SpringBootAdmin监控分为server和client两部分,具体需监控的项目称为client,展示给开发者的web页面查看为server服务。
-
不使用注册中心集成SpringBootAdmin:
在实际应用中需要开发者在所要监控的服务中引入spring-boot-admin-starter-client依赖,若对应的SpringBootAdmin项目已经集成了spring-boot-starter-security还需配置对应的登录账号。 -
使用注册中心(nocas/eureka)集成SpringBootAdmin:
待探索。
SpringBootAdmin项目搭建
- 通过IDEA生成Maven项目
- 工作空间进行maven集成配置
POM文件配置
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
</dependencies>
集成spring-boot-starter-security登录校验
说明:上图pom文件可知我们引入了spring-boot-starter-security进行登录拦截,其是对于整个项目进行登录拦截,有对应的原始拦截页面,若我们不希望使用security自带的登录页面可使用添加重定向类的方式解决。
- 关于security登陆拦截重定向类
/**
* @Description security登录权限路由,去除掉security原始登录页面
* @Usage_scenarios
* @Return
* @Author ZYQ
* @Date 2020/11/11 17:56
**/
@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {
private final String adminContextPath;
public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
this.adminContextPath = adminServerProperties.getContextPath();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setTargetUrlParameter("redirectTo");
successHandler.setDefaultTargetUrl(adminContextPath + "/");
http.authorizeRequests()
.antMatchers(adminContextPath + "/assets/**").permitAll()
.antMatchers(adminContextPath + "/login").permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
.logout().logoutUrl(adminContextPath + "/logout").and()
.httpBasic().and()
.csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
.ignoringAntMatchers(
adminContextPath + "/instances",
adminContextPath + "/actuator/**"
);
}
}
项目配置文件
简单配置
server.port=8001
spring.application.name=admin-server
#登录账户
spring.security.user.name=admin
#登录密码
spring.security.user.password=admin
启动项
代码预览
/**
* 启动类
* SpringBoot项目会自动加载数据库连接本项目只为监控UI展示
* 不集成mysql数据库故将数据库连接禁止
* 必要注解@EnableAdminServer
* 通过在配置中添加@EnableAdminServer,来导入Spring Boot Admin Server配置
*/
@EnableAdminServer
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class,
HibernateJpaAutoConfiguration.class})
public class AdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(AdminServerApplication.class, args);
}
}
SpringBootAdmin监控项目示例展示
说明:以下服务信息需启动对应的所要监控的项目才可更直观体验。
本文地址:https://blog.csdn.net/LDS666win/article/details/109646615