Java 我们什么时候在spring security中使用denyAll

Java 我们什么时候在spring security中使用denyAll,java,spring,security,spring-security,spring-annotations,Java,Spring,Security,Spring Security,Spring Annotations,我有点困惑,为什么有人会使用@PreAuthorize(“denyAll”)作为方法。根据spring安全文档,它的计算结果始终为false 如果我们不允许访问特定的方法,那么保留这种方法有什么意义呢。为什么不评论一下呢?或者它仍然可以从同一个类中访问 我试图了解在什么情况下会出现这样的要求。我发现在一般情况下对“拒绝一切”的一个小澄清是 @DenyAll注释可用于限制任何人(无论是否登录)对业务界面的访问。该方法仍然可以从bean类本身中调用 因此,jist是指它可以用于出于某种原因是公共的或

我有点困惑,为什么有人会使用
@PreAuthorize(“denyAll”)
作为方法。根据spring安全文档,它的计算结果始终为false

如果我们不允许访问特定的方法,那么保留这种方法有什么意义呢。为什么不评论一下呢?或者它仍然可以从同一个类中访问


我试图了解在什么情况下会出现这样的要求。

我发现在一般情况下对“拒绝一切”的一个小澄清是

@DenyAll注释可用于限制任何人(无论是否登录)对业务界面的访问。该方法仍然可以从bean类本身中调用

因此,jist是指它可以用于出于某种原因是公共的或已公开的方法(可能它实现了一个接口),但决不能直接从外部调用。但是,可以从内部(类内)调用它们

这是你的电话号码

我可以给你一个真实的例子是(这与我的工作密切相关)。我们有两个具有相同代码库的业务部门。现在,在一个单元中有一个功能,一些移动分销商可以直接呼叫服务,直接向运营商端取消凭证,但在另一个单元中,由于某些业务规则,我们需要阻止此操作。因为我们在两个系统中使用相同的接口,所以在一个系统中,我们使用denyall阻止了它的使用


希望这能给您一个清晰的想法。

我用这种方式装饰我的服务类,它要求各个内部服务方法覆盖拒绝类级别的预授权注释。这确保了类中的每个方法都将得到适当的保护,并返回到denyAll


我知道这很旧,但我在寻找@PreAuthorize('denyAll')的语法时无意中发现了它,并认为我应该加入我的2个注释。

应用此注释的结果在bean的代理级别实例中很有用(当其他bean使用注释方法调用bean时),但是您仍然可以在同一个bean上内部使用该方法,而不是通过代理实例,当您只想在内部使用该方法时,也许可以使用该组合。是否有任何文档可以让我获得更多详细信息?你能举一个例子,有人希望有这样的安全配置吗