http基本身份验证并限制某些端点

ncecgwcz  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(144)

我想有一个 Spring 启动的应用程序,我不想强制基本身份验证凭据,但我想限制在某些端点。
我想允许 /actuator/health 为打开并添加限制 actuator/shutdown 以及 /customer/deleteContact 仅限于某些角色。
这就是我所尝试的:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSEALSecurityConfig {

@Value("${ldap.server.admin.group}")
private String SERVER_ADMIN_GROUP;

@Value("${dashboard.user.group}")
private String DASHBOARD_USER;

@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
    httpSecurity
            .authorizeRequests()
            .antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
            .antMatchers("/actuator/health").permitAll()
            .antMatchers("/actuator/**").hasRole(SERVER_ADMIN_GROUP)
            .antMatchers("/customer/deleteContact").hasRole(DASHBOARD_USER)
            .and().addFilterBefore(getOrgAuthenticationSelectionFilter(), BasicAuthenticationFilter.class)
            .httpBasic()
            .authenticationEntryPoint(getOrgBasicAuthenticationEntryPoint())
            .and().csrf().disable()
            .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
   }
 }

这对我来说不太管用。我的手机坏了 /actuator/health 当我传递了一些凭据,但如果我删除了凭据就可以工作。
请建议我如何做到这一点,提前感谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题