我在@PreAuthorize批注中有一个简单的表达式:
@PreAuthorize("#userId == authentication.principal.id")
但是答案是:
无法评估表达式'#userId == authentication.principal.id'
这是方法签名:
fun updateGeneralProfileInfo(@PathVariable userId: Long, authentication: Authentication)
(科特琳)
在调试模式下,我看到在运行时authentication.principal
是UserPrincipal对象,它包含id
字段。
Btw表达式#userId == authentication.principal
起作用(当然,它总是返回false,但至少不是异常)
拜托!