0
考虑科特林控制器类:如何使用Spring Security代理修正val字段初始化?
@RestController
@RequestMapping("/myPath/")
open class MyController {
private val s3AsyncClient: S3AsyncClient = S3AsyncClient.builder().build()
//...
@PostMapping("/indexing")
@Secured("ROLE_USER")
fun someFunction() {
return s3AsyncClient.toString();
}
}
导致空指针异常。
以下是我在锯调试:
但当@Secured
被删除一切正常。所以春天的安全代理似乎破坏了kotlin val的初始化。有没有办法让他们一起工作?
你能尝试'@PreAuthorize的''而不是@Secured( “ROLE_USER”)'( “hasRole( 'ROLE_USER')”)。 –
它的工作原理!但有什么区别? – Cherry
我回答了那个。如果它有效,那么你可以接受和赞成答案。 –