zoukankan      html  css  js  c++  java
  • Spring Boot 6:自定义filter

    自定义 Filter

    在项目中经常会使用 Filter 来实现记录请求日志、排除有 XSS 威胁的字符、执行权限验证等功能。Spring Boot 自动添加了 OrderedCharacterEncodingFilter 和 HiddenHttpMethodFilter,并且我们也可以自定义 Filter。

    新建 MyFilter 类,使用 doFilter() 方法:

     1 public class MyFilter implements Filter {
     2     @Override
     3     public void destroy() {
     4         // do Something
     5     }
     6 
     7     @Override
     8     public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterChain)
     9             throws IOException, ServletException {
    10         HttpServletRequest request = (HttpServletRequest) srequest;
    11         System.out.println("this is MyFilter,url :"+request.getRequestURI());
    12         filterChain.doFilter(srequest, sresponse);
    13     }
    14 
    15     @Override
    16     public void init(FilterConfig arg0) throws ServletException {
    17         // do Something
    18     }
    19 }

    将自定义 Filter 加入过滤链:

     1 @Configuration
     2 public class WebConfiguration {
     3     @Bean
     4     public RemoteIpFilter remoteIpFilter() {
     5         return new RemoteIpFilter();
     6     }
     7 
     8     @Bean
     9     public FilterRegistrationBean testFilterRegistration() {
    10 
    11         FilterRegistrationBean registration = new FilterRegistrationBean();
    12         registration.setFilter(new MyFilter());
    13         registration.addUrlPatterns("/*");
    14         registration.addInitParameter("paramName", "paramValue");
    15         registration.setName("MyFilter");
    16         registration.setOrder(1);
    17         return registration;
    18     }
    19 }

    添加完后启动项目,访问任意的 Url,都会看到控制台打印如下信息:

    this is MyFilter,url :/xxx
    说明 MyFilter 已经对所有的 Url 进行了监控,在实际使用的过程中,常常利用这个特性进行 session 验证,判断用户是否登录。

  • 相关阅读:
    delphi 使用条件编译指令
    [转] 编程之道 二
    delphi中XLSReadWrite控件的使用(1)简介
    delphi中XLSReadWrite控件的使用(2)delphi XE下安装
    墙纸自动换1.4算法分析
    Delphi中设置屏幕分辨率
    delphistringgrid另类自动向下滚屏
    【Hex 格式文件操作】一、intel hex格式文件说明
    INTEL hex文件格式
    [转]编程之道 一
  • 原文地址:https://www.cnblogs.com/yang21/p/9977264.html
Copyright © 2011-2022 走看看