我想有一个 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
当我传递了一些凭据,但如果我删除了凭据就可以工作。
请建议我如何做到这一点,提前感谢
暂无答案!
目前还没有任何答案,快来回答吧!