no message
parent
153717f3d4
commit
f8e2ed7ec4
|
|
@ -0,0 +1,47 @@
|
||||||
|
package net.lab1024.sa.admin.config;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.security.config.Customizer;
|
||||||
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
|
import org.springframework.security.core.userdetails.User;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||||
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
|
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
|
||||||
|
import org.springframework.security.web.SecurityFilterChain;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class ActuatorSecurityConfig {
|
||||||
|
@Bean
|
||||||
|
public SecurityFilterChain actuatorSecurityFilterChain(HttpSecurity http) throws Exception {
|
||||||
|
http
|
||||||
|
.securityMatcher("/actuator/**") // 仅作用于/actuator路径
|
||||||
|
.authorizeHttpRequests(authorize -> authorize
|
||||||
|
.anyRequest().hasRole("ACTUATOR")
|
||||||
|
)
|
||||||
|
// 启用HTTP Basic认证的新方式
|
||||||
|
.httpBasic(Customizer.withDefaults())
|
||||||
|
// 禁用CSRF保护
|
||||||
|
.csrf(csrf -> csrf.disable());
|
||||||
|
|
||||||
|
return http.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public UserDetailsService userDetailsService(PasswordEncoder passwordEncoder) {
|
||||||
|
UserDetails user = User.builder()
|
||||||
|
.username("admin")
|
||||||
|
.password(passwordEncoder.encode("Youchain@56"))
|
||||||
|
.roles("ACTUATOR")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
return new InMemoryUserDetailsManager(user);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public PasswordEncoder passwordEncoder() {
|
||||||
|
return new BCryptPasswordEncoder();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -170,18 +170,3 @@ smart:
|
||||||
db-refresh-enabled: true
|
db-refresh-enabled: true
|
||||||
# 数据库配置检测-执行间隔 默认120秒 可选
|
# 数据库配置检测-执行间隔 默认120秒 可选
|
||||||
db-refresh-interval: 60
|
db-refresh-interval: 60
|
||||||
|
|
||||||
# Springboot Actuator授权
|
|
||||||
management:
|
|
||||||
endpoints:
|
|
||||||
web:
|
|
||||||
exposure:
|
|
||||||
include: "health" # 只暴露健康检查端点
|
|
||||||
endpoint:
|
|
||||||
health:
|
|
||||||
show-details: never
|
|
||||||
shutdown:
|
|
||||||
enabled: false # 显式关闭危险端点
|
|
||||||
server:
|
|
||||||
port: 8002
|
|
||||||
address: 127.0.0.1
|
|
||||||
|
|
@ -172,18 +172,3 @@ smart:
|
||||||
db-refresh-enabled: true
|
db-refresh-enabled: true
|
||||||
# 数据库配置检测-执行间隔 默认120秒 可选
|
# 数据库配置检测-执行间隔 默认120秒 可选
|
||||||
db-refresh-interval: 60
|
db-refresh-interval: 60
|
||||||
|
|
||||||
# Springboot Actuator授权
|
|
||||||
management:
|
|
||||||
endpoints:
|
|
||||||
web:
|
|
||||||
exposure:
|
|
||||||
include: "health" # 只暴露健康检查端点
|
|
||||||
endpoint:
|
|
||||||
health:
|
|
||||||
show-details: never
|
|
||||||
shutdown:
|
|
||||||
enabled: false # 显式关闭危险端点
|
|
||||||
server:
|
|
||||||
port: 8002
|
|
||||||
address: 127.0.0.1
|
|
||||||
Loading…
Reference in New Issue