多个过滤器共同作用的过程

 

多个过滤器共同作用的过程

FilterDemo1

System.out.println("11111111 before");

chain.doFilter(request, response);

System.out.println("1111111111 after");

 

FilterDemo2

System.out.println("22222222 before");

chain.doFilter(request, response);

System.out.println("22222222 after");

 

Index.jsp

<% System.out.println("jsp xxxxxxxxxxxxxxx............"); %>

输出结果

11111111 before

222222222222 before

jsp xxxxxxxxxxxxxxx............

222222222222 after

1111111111 after

 

交换web.xml中两个过滤器的描述代码位置,重新运行,结果为:

222222222222 before

11111111 before

jsp xxxxxxxxxxxxxxx............

1111111111 after

222222222222 after

 

过滤器的生命周期

过滤器的生命周期:(一定要实现javax.servlet包的Filter接口的三个方法init()、doFilter()、destroy(),空实现也行)
(1)、启动服务器时加载过滤器的实例,并调用init()方法来初始化实例;
(2)、每一次请求时都只调用方法doFilter()进行处理;
(3)、停止服务器时调用destroy()方法,销毁实例。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Security 中的所有过滤器及其作用如下1. `ChannelProcessingFilter`:根据请求的协议(http 或 https)决定是否需要使用 SSL 安全连接。 2. `SecurityContextPersistenceFilter`:在请求处理过程中,负责将安全上下文存储到 `SecurityContextHolder` 中,并在请求完成后恢复上下文。 3. `ConcurrentSessionFilter`:用于处理并发会话控制,检测并处理用户多次登录或会话超过限制的情况。 4. `LogoutFilter`:处理注销功能,清除当前用户的身份认证信息并执行一些清理操作。 5. `UsernamePasswordAuthenticationFilter`:处理基于表单的用户名密码身份验证,验证用户的用户名和密码。 6. `DefaultLoginPageGeneratingFilter`:生成默认的登录页面,如果应用程序没有自定义登录页面,则使用该过滤器。 7. `DefaultLogoutPageGeneratingFilter`:生成默认的注销页面,如果应用程序没有自定义注销页面,则使用该过滤器。 8. `BasicAuthenticationFilter`:处理 HTTP Basic 认证,从请求头中提取用户名和密码进行验证。 9. `RequestCacheAwareFilter`:处理请求的缓存,当用户需要进行身份验证时,将当前请求缓存起来以便后续处理。 10. `SecurityContextHolderAwareRequestFilter`:对请求进行包装,以便在请求处理过程中可以访问 `SecurityContextHolder` 中的安全上下文。 11. `RememberMeAuthenticationFilter`:处理“记住我”功能,通过 cookie 或 token 记住用户的身份信息。 12. `AnonymousAuthenticationFilter`:处理匿名用户的身份验证,为未经身份验证的用户分配一个临时身份。 13. `SessionManagementFilter`:管理用户会话,处理会话并发控制、会话超时和会话固定攻击等问题。 14. `ExceptionTranslationFilter`:处理身份验证和授权过程中的异常,例如未经授权的访问或身份验证失败。 15. `FilterSecurityInterceptor`:实施访问控制决策,根据配置的访问规则拦截请求并进行授权判断。 这些过滤器共同工作,通过链式调用来保护应用程序的资源,并提供身份验证和授权功能。需要注意的是,具体使用哪些过滤器取决于你的配置和需求,在实际使用中可以选择性地配置和扩展这些过滤器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值