如何在Spring HttpSecurity中为restful服务检查ROLE_ADMIN



我想使用OAuth 2.0和Spring Security来保护REST API。我使用的是Spring Boot 2。

这是我开始使用的配置:

@Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers(AUTH_WHITELIST).permitAll()
.antMatchers("/**").authenticated()
.antMatchers("/v1/**").hasAnyRole("ADMIN0", "123");
}

目前,我可以使用ROLE_USER访问/v1/**。如何限制ROLE_ADMIN和ROLE_123访问/v1/**,而不限制任何其他角色的访问权限?

这可能是由于antMatchers:之间没有and()

@Override
public void configure(HttpSecurity http) throws Exception {
http
// ... here goes your custom security configuration
.authorizeRequests()
.antMatchers(AUTH_WHITELIST).permitAll()  // whitelist Swagger UI resources
// ... here goes your custom security configuration
.and()
.antMatchers("/**").authenticated()  // require authentication for any endpoint that's not whitelisted
.and()
.antMatchers("/v1/**")
.hasAnyRole("ADMIN0", "123");
}

相关内容

  • 没有找到相关文章

最新更新