当前位置: 首页 > 知识库问答 >
问题:

在Spring Security过滤器链之前执行servlet过滤器

曾晨
2023-03-14

我将在一个已经存在的网站中介绍Spring Web Security。现在出现了一个问题:

我希望我的自定义筛选器在Spring Security筛选器链之前在Tomcat筛选器链中执行。我不想让他们成为这个Spring安全过滤器链的一部分。

我所找到的只是Spring Boot中的一个解决方案(请参见“Spring-How to insert a filter before SpringSecurityFilterChain”)--但我没有使用Spring Boot。

<filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>
public class MySecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
    ...
}

共有1个答案

强宾白
2023-03-14

如果您在springSecurity filter声明之前在Web.xml中定义了Web安全过滤器,那么该过滤器将不是spring Security filter chain的一部分,您的过滤器将在spring Security filter chain之前执行。

或者,如果您希望筛选器在web服务器级别执行,您可以在tomcat web.xml中定义筛选器,它可以在conf/directory中使用。这个筛选器将在应用程序筛选器链之前执行。但此筛选器将对Tomcat下的所有web应用程序运行时执行。

请注意,您还需要使filter类对所有web应用程序可用,可能是将它放在Tomcat的lib/目录中)。

 类似资料:
  • 我在我的网络应用程序中偶然发现了一个错误,在我发现发生了什么之前,这个错误让我抓耳挠腮(最终扯了扯头发)。 基本上,我在我的网站上定义了两个过滤器。xml和两个类似的映射: 它们都是Spring MVC过滤器。我的问题是,我得到的表单数据没有被解释为UTF-8,尽管事实上编码过滤器应该在其他任何东西有机会从中读取之前将请求编码设置为UTF-8。 我最后注意到,表单方法过滤器在编码过滤器之前执行,尽

  • 我已将过滤器配置如下,但在Spring Security Filter链之前不会调用它。我已将顺序设置为零 我使用的是Spring Boot 1.3,它支持在过滤器上设置顺序

  • 主要内容:FilterChain 接口,Filter 链的拦截过程,Filter 链中 Filter 的执行顺序,示例在 Web 应用中,可以部署多个 Filter,若这些 Filter 都拦截同一目标资源,则它们就组成了一个 Filter 链(也称过滤器链)。过滤器链中的每个过滤器负责特定的操作和任务,客户端的请求在这些过滤器之间传递,直到传递给目标资源。 FilterChain 接口 javax.servlet 包中提供了一个 FilterChain 接口,该接口由容器实现。容器将其实例对象

  • 我想设置一个推荐人cookie,因为我需要排除一些页面(例如错误、登录、注销等)要在登录后重定向到上次调用但未被排除的页面,请执行以下操作: 但是Spring Security过滤链在CookiierReferrerFilter之前就被触发了。因此,调用安全页面将立即将我重定向到登录页面,而无需调用之前,没有设置cookie。 有一个类配置WebApp(设置配置类、映射、过滤器),它扩展了: 还有

  • 问题内容: Servlet和Filter有什么区别?您建议使用什么来授权页面? 问题答案: 当你要根据特定条件过滤和/或修改请求时,请使用。使用时要控制,预处理和/或后处理请求。 在Java EE的教程中提到有关筛选如下: 筛选器是可以转换请求或响应的标头和内容(或两者)的对象。过滤器与Web组件的不同之处在于,过滤器本身通常不会创建响应。相反,过滤器提供的功能可以“附加”到任何类型的Web资源。

  • Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servlet。Servlet 过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。调用 Servlet 前调用所有附加的 Servlet 过滤器。 Servlet 过滤器是可用于 Servlet