【问题标题】:Role names in externalized configuration外部化配置中的角色名称
【发布时间】:2018-11-23 13:37:25
【问题描述】:

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

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

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

我收到错误:

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

【问题讨论】:

标签: spring-boot spring-security spring-el


【解决方案1】:

您还可以在自定义 bean 实现中使用有效权限@PreAuthorize("@yourBeanName.customMethod(authentication.principal.username)")

在 bean 中,你可以将你的角色注入为字符串,然后只比较字符串

【讨论】:

    猜你喜欢
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2012-07-13
    • 2018-10-03
    • 2021-01-05
    相关资源
    最近更新 更多