diff --git a/Spring 学习笔记.md b/Spring 学习笔记.md index 590c67f..6bbc450 100644 --- a/Spring 学习笔记.md +++ b/Spring 学习笔记.md @@ -226,3 +226,7 @@ Signature 表示加密的方式和加密前两部分。 在 Spring Security 中,每个安全过滤器都有一个默认的执行顺序,可以通过实现 `Order` 接口来自定义 Filter 的执行顺序。Spring Security 会根据 `Order` 接口的实现类中的 getOrder() 方法来决定每个 Filter 的执行顺序。如果没有实现 `Order` 接口,那么默认 `FilterChainProxy` 的执行顺序为 0,其他的 Filter 按照注册顺序依次执行。可以通过 `setOrder(int order)` 方法来设置 Filter 的执行顺序。值越小,执行优先级越高。 `setOrder(int order)` 方法是为了设置 Filter 的执行顺序,即执行的优先级。值越小,执行优先级越高。如果没有设置,则默认为 0。在 Spring Security 中,每个过滤器都有一个执行顺序,执行顺序确定了它的执行顺序。 需要注意的是,设置过滤器执行顺序时,要确保已知道所有过滤器的默认执行顺序和他们之间的依赖关系,才能准确地设置过滤器之间的执行优先级。此外,为了避免与其他过滤器的优先级冲突,Spring Security 的默认过滤器的执行顺序从 100 开始,因此自定义过滤器的执行优先级应该小于 100。 总之,setOrder 函数的结果是设置过滤器的执行顺序,所传递的数值越小,执行优先级越高,但是需要注意与其他过滤器的优先级冲突问题。 + +---- + +`FilterRegistrationBean` 是 Spring 提供的一个用于注册 Filter 的 Bean,它的功能类似于 web.xml 中的 `Filter` 和 `Filter-mapping` 。通过配置 `FilterRegistrationBean` ,我们可以将自定义的 Filter 注册到 Spring 应用程序中。在注册 Filter 时,我们可以设置 Filter 的执行顺序、url-pattern 和 Filter 的初始化参数等信息。 `FilterRegistrationBean` 的原理是基于 Servlet 3.0 规范,通过注解或编程方式配置 Servlet、Filter 和 Listener 等 Web 组件。在 Spring Boot 应用程序中,我们可以使用 `@Bean` 注解和 `FilterRegistrationBean` 类来注册和配置 Filter。在注册时,我们可以设置 Filter 的执行顺序、url-pattern 和 Filter 的初始化参数等信息。服务启动时,Spring Boot 会自动扫描所有的 FilterRegistrationBean,并将它们应用到 Servlet 容器中。 `FilterRegistrationBean` 的作用是将自定义的 Filter 注册到 Spring 应用程序中,并配置 Filter 的相关信息。通过 `FilterRegistrationBean` ,我们可以控制 Filter 的执行顺序、url-pattern 和 Filter 的初始化参数等信息,以及在 Filter 的执行前后执行一些自定义的逻辑。这些操作可以帮助我们更加灵活地处理请求和响应,从而提高应用程序的性能和安全性