Spring EL expression枚举值校验
2020-08-31 本文已影响0人
Anson_1f2a
项目在用Spring security时,需实现通过校验传进来的对象是否包含某个值才能允许该用户进行查询,因此需要使用到@PreAuthorize进行鉴权。
该值是枚举类型,试了好几种写法会报错。
Failed to evaluate expression '#t.type?.toString().equals('ABC')'
成功案例
写法一
@PreAuthorize("#t.type?.toString() == 'ABC'")
fun list(t: Param): Mono<Page<Data>> {
return mono {
service.list(t)
}
}
写法二
@PreAuthorize("#t.type == T(com.xxx.enums.Type).ABC")
fun list(t: Param): Mono<Page<Data>> {
return mono {
service.list(t)
}
}