【发布时间】:2022-07-29 14:30:18
【问题描述】:
Java + Spring Boot 在这里。我正在构建一个使用 Spring Security 进行身份验证/授权的 RESTful Web 服务。
Spring Security 附带了大量自己的灵活且可配置的过滤器。但是,我的服务需要定义几个自己的过滤器:
- 它们与安全性完全无关,因此不需要在 Spring Security 的 API 中进行任何配置;和
- 我确实希望在 Spring Security 已经允许请求通过其所有自己的安全过滤器之后调用它们;这意味着这些“非安全”过滤器只有在 Spring Security 提前允许请求通过时才会被调用
我看到了this answer 和this one,但它们都涉及配置其他自定义安全过滤器以与 Spring Security 的内置过滤器一起使用。如何将 Spring Boot 配置为从 Spring Security“定位”我的非安全过滤器“之后”(在过滤器链的下方)?一旦我这样做了,我该如何控制这些过滤器的顺序?
【问题讨论】:
-
这里是完整的过滤器列表docs.spring.io/spring-security/reference/servlet/…,你在最后一个之后使用函数
httpSecurity.addFilterAfterdocs.spring.io/spring-security/site/docs/current/api/org/… -
你的意思是...我需要使用 Spring Security 来配置 non-security 过滤器的排序?那没有意义!如果我不使用 Spring Security,我将使用什么来配置过滤器顺序?!
-
那么您将使用建议的内容作为答案
-
谢谢,这个答案很接近,但仍然不是我想要的,请查看我在该问题下的评论——我有同样的问题要问你!
-
为什么不直接阅读文档docs.spring.io/spring-framework/docs/current/javadoc-api/org/…,他在回答中非常友好地链接了该文档?
标签: java spring-boot spring-security spring-filter