我正在开发基于Spring Boot(spring-boot-starter-web)的REST API,其中使用Spring Security(spring-security-coree spring-security-config)保护不同的端点。
身份验证是通过使用本地数据库完成的,该本地数据库包含具有两个不同角色集的用户:ADMIN和USER。USER应该能够访问GET所有API端点以及POST基于的端点routeA。ADMIN应该能够与基于routeB的USERplus POST和DELETEend相同
但是,我得到的行为是,我可以GET向任何端点发出请求,但是对于任何类型的用户,POST请求总是返回HTTP 403 Forbidden- ADMIN和USER-这不是我期望的基于我的SecurityConfiguration。
关于我缺少什么的任何想法?
SecurityConfiguration.java
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
private static final Logger logger = LoggerFactory.getLogger(SecurityConfiguration.class);
@Autowired
private RESTAuthenticationEntryPoint authenticationEntryPoint;
@Autowired
private DataSource dataSource;
@Override
public void configure(AuthenticationManagerBuilder builder) throws Exception {
logger.info("Using …Run Code Online (Sandbox Code Playgroud)