gpt4 book ai didi

java - spring boot中授权写在哪里?在 Spring 拦截器或过滤器中?

转载 作者:行者123 更新时间:2023-12-01 19:45:00 32 4
gpt4 key购买 nike

我目前正在开发一个具有微服务架构的应用程序,在 Spring Boot 中使用 OAuth 作为身份验证。由于我的授权服务器是一个单独的微服务,因此我无法对资源服务器中的资源使用基于 Spring 注释的基于角色的授权。因此,我正在编写自定义实现来在到达资源之前检查角色及其访问权限。我有两种选择,要么在拦截器中执行,要么在过滤器中执行。哪个最适合此授权?

最佳答案

在我看来,过滤器和拦截器之间最大的区别之一是:

过滤器只工作在J2EE Web应用程序中,不能在应用程序服务器之外使用,拦截器可以工作在不同的组件中而不依赖于Web层,总之拦截器比过滤器有更广泛的领域。如果您计划将某些组件移到容器之外,则应该考虑使用拦截器。

过滤器更多地在请求/响应域中工作,而拦截器更多地在方法执行域中工作。

如果您需要做一些可能影响对应用程序的请求或响应的操作,例如日志记录、安全性、审核,或者您将影响它们上的数据,您的选择是过滤器,不要忘记这些提供的插入能力。

引用:Interceptors Or Filters

关于java - spring boot中授权写在哪里?在 Spring 拦截器或过滤器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59131345/

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