在Spring Security中使用@PreAuthorize注释覆盖antmatchers()

时间:2019-02-06 20:30:27

标签: spring spring-security

我正在使用SecurityConfig configure()方法来授权对/ api / users / **模式的​​请求。

.antMatchers("/api/users/**").hasRole("ADMIN")

除了控制器中的一种GET方法外,我只允许对ADMIN角色所有者的URI请求:

@RequestMapping(method = RequestMethod.GET)
@ResponseStatus(HttpStatus.ACCEPTED)
@PreAuthorize("hasRole('USER')")
public List<UserGetCommand> getUser() {
     return userService.getUsers();
}

我将@PreAuthorize批注放置为USER角色,但这会破坏授权,不仅不允许USER访问此方法,也不允许ADMIN。

是否有可能使用注释覆盖控制器中的antMatchers(),因为我不想仅仅因为我需要在几个方法上扮演不同的角色而在控制器中的所有方法上添加注释。

0 个答案:

没有答案