gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 03:20:42 24 4
gpt4 key购买 nike

我有点困惑为什么有人会使用 @PreAuthorize("denyAll") 作为方法。根据 spring security 文档,它总是评估为 false。

如果我们不允许访问特定方法,那么保留这样的方法有什么意义。为什么不把它注释掉?还是仍然可以从同一个类中访问它?

我想了解在什么情况下会出现这种要求。

最佳答案

我发现的一般情况下的一个小澄清是

@DenyAll annotation can be used to restrict business interface access from anyone, logged in or not. The method is still invokable from within the bean class itself.

所以要点是,它可以用于出于某种原因公开或已公开(也许它实现了一个接口(interface))但绝不能直接从外部调用的方法。然而,它们可以从内部(类内)调用。

这里是 link

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

希望这能给您一个清晰的思路。

关于java - 我们什么时候在 spring security 中使用 denyAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31298557/

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