spring - 如何在 @PreAuthorize 中使用 Autowired 服务
问题描述
我正在尝试在ServiceA
内部使用,@PreAuthorize
但它不起作用
服务A
@Service
public class ServiceA {
public void aFun() {
return 1;
}
}
服务B
@Service
public class ServiceB {
@Autowire
ServiceA serviceA;
@PreAuthorize("1 == serviceA.aFun()")
public void bFun() {
}
}
但这会导致他没有发现的异常serviceA
解决方案
根据 Sping 文档,bean 应该用“@”符号引用: https ://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#expressions-bean-references
因此,尝试使用:
@PreAuthorize("1 == @serviceA.aFun()")