gpt4 book ai didi

java - 当从同一类中的另一个安全方法调用安全方法时,@PreAuthorize 不起作用

转载 作者:行者123 更新时间:2023-12-01 12:25:38 26 4
gpt4 key购买 nike

@PreAuthorize    
public void methodA() {
methodB();
}

@PreAuthorize
public void methodB() {
}

这里methodA()是接口(interface)方法,methodB()是由methodA()调用的。

最佳答案

Spring 方法级安全性使用基于代理的 Spring AOP。这意味着对对象引用的方法调用将是对代理的调用,因此代理将能够委托(delegate)给与该特定方法相关的所有拦截器(例如@PreAuthorize)称呼。

但是,一旦调用最终到达目标对象,它可能对自身进行的任何方法调用都将针对 this 引用而不是代理进行调用。这意味着自调用不会导致与方法调用相关的建议有机会执行。

您可以找到更多详细信息here .

关于java - 当从同一类中的另一个安全方法调用安全方法时,@PreAuthorize 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26361986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com