如何为具有 spring 安全性的特定终结点添加 HTTP 基本身份验证?

2022-09-01 19:28:17

我有一个带有Spring Security的Spring Boot应用程序。将配置一个新的终结点,以便可以通过基本的 HTTP 身份验证访问它。当前配置如下:/healthHttpSecurity

@Override
protected void configure(HttpSecurity http) throws Exception {

http.requestMatchers()
    .antMatchers(HttpMethod.OPTIONS, "/**")
    .and()
    .csrf()
    .disable()
    .authorizeRequests()
    .anyRequest()
    .permitAll()
    .and()
    .sessionManagement()
    .sessionCreationPolicy(SessionCreationPolicy.STATELESS);

}

如何为 添加基本身份验证?我想我需要这样的东西,但我不认为这是完全正确的,我真的不明白究竟在哪里添加它:/health

    .authorizeRequests()
    .antMatchers(
        // Health status
        "/health",
        "/health/"
    )
    .hasRole(HEALTH_CHECK_ROLE)
    .and()
    .httpBasic()
    .realmName(REALM_NAME)
    .authenticationEntryPoint(getBasicAuthEntryPoint())
    .and()
    .sessionManagement()
    .sessionCreationPolicy(SessionCreationPolicy.STATELESS)

我发现这些资源很有帮助,但还不够:


答案 2