我正在使用@Secured(" ADMIN"),我的角色定义也是ADMIN(不是ROLE_ADMIN)。当我访问API时,我没有得到预期的值,它表示拒绝访问。
以下是代码,我如何覆盖ROLE_值
@PostMapping("/users")
@Loggable
@Secured({"Administrator"})
public ResponseEntity<?> createUser( @Valid @RequestBody User userRequest) {
.....
}
实现了CustomAccessDecisionManager,其中角色前缀(setRolePrefix(&#34;&#34;))设置为空,并且我的安全配置文件中配置了CustomDecisionManager。
空角色前缀工作正常,代码在下面
.authorizeRequests().anyRequest().authenticated()
.accessDecisionManager(customAD()).hasRole("ADMIN")
但是当我使用@Secured时,它无法正常工作。
我的数据库包含USER1,USER2的角色。
非常感谢任何帮助。谢谢。