gpt4 book ai didi

spring-security - spring security方法级别的注解应该应用在controller层还是service层?

转载 作者:行者123 更新时间:2023-11-29 09:02:32 26 4
gpt4 key购买 nike

我一直在我的 Controller 方法上使用带有 @PreAuthorize 的 spring security。我的理由是我希望授权检查在一层中可预测地发生,并且在请求中尽早发生。然而,我刚刚阅读了 spring security 3 文档,看到他们建议在服务层应用方法级安全(但他们没有说为什么)。

我的问题是:spring security方法级别的注解应该应用在controller层还是service层? (或“两者”,或“视情况而定”?)更重要的是:为什么?

最佳答案

“这取决于”:)。如果您的应用程序有一个服务层,通过它应用您的所有业务逻辑,那么这通常是一个干净的地方来应用您的安全约束,并确保您没有遗漏任何极端情况。

Web 代码通常比较困惑,数量更多,变化更快,您最终可能会从多个地方调用相同的服务方法。有人可能会添加一个新 Controller 而忘记正确保护它。或者,您可能有不同类型的客户端调用相同的服务。

但这取决于您的应用程序的结构以及您的用例。对于为什么要保护 Controller ,您可能有很好的论据。

关于spring-security - spring security方法级别的注解应该应用在controller层还是service层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16507667/

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