外部化配置中的角色名称

时间:2018-11-23 13:37:25

标签: spring-security spring-el

我想将角色名称存储在application.yml中。

但是Spring无法解析我的SpringEl表达式。如何引用财产?

@RestController
@RequestMapping(value = {"/rest/administration"})
@PreAuthorize("hasRole(${roles.admin})")
public class RestAdminController {

我遇到错误:

  

意外令牌。预期为“标识符”,但为“ lcurly({)”

1 个答案:

答案 0 :(得分:1)

您还可以在自定义bean实现@PreAuthorize("@yourBeanName.customMethod(authentication.principal.username)")

中有效的授权

然后在bean中,您可以将角色注入为String并只比较Strings