/** 
 | 
 * Copyright (c) 2018 人人开源 All rights reserved. 
 | 
 * 
 | 
 * https://www.renren.io 
 | 
 * 
 | 
 * 版权所有,侵权必究! 
 | 
 */ 
 | 
  
 | 
package com.zt.core.config.shiro; 
 | 
  
 | 
import com.zt.common.servlet.xss.XssFilter; 
 | 
import org.springframework.boot.web.servlet.FilterRegistrationBean; 
 | 
import org.springframework.context.annotation.Bean; 
 | 
import org.springframework.context.annotation.Configuration; 
 | 
import org.springframework.web.filter.DelegatingFilterProxy; 
 | 
  
 | 
import javax.servlet.DispatcherType; 
 | 
  
 | 
/** 
 | 
 * Filter配置 
 | 
 * 
 | 
 * @author Mark sunlightcs@gmail.com 
 | 
 */ 
 | 
@Configuration("filterConfig") 
 | 
public class FilterConfig { 
 | 
  
 | 
    @Bean 
 | 
    public FilterRegistrationBean shiroFilterRegistration() { 
 | 
        FilterRegistrationBean registration = new FilterRegistrationBean(); 
 | 
        registration.setFilter(new DelegatingFilterProxy("shiroFilter")); 
 | 
        //该值缺省为false,表示生命周期由SpringApplicationContext管理,设置为true则表示由ServletContainer管理 
 | 
        registration.addInitParameter("targetFilterLifecycle", "true"); 
 | 
        registration.setEnabled(true); 
 | 
        registration.setOrder(Integer.MAX_VALUE - 1); 
 | 
        registration.addUrlPatterns("/*"); 
 | 
        return registration; 
 | 
    } 
 | 
  
 | 
    @Bean 
 | 
    public FilterRegistrationBean xssFilterRegistration() { 
 | 
        FilterRegistrationBean registration = new FilterRegistrationBean(); 
 | 
        registration.setDispatcherTypes(DispatcherType.REQUEST); 
 | 
        registration.setFilter(new XssFilter()); 
 | 
        registration.addUrlPatterns("/*"); 
 | 
        registration.setName("xssFilter"); 
 | 
        registration.setOrder(Integer.MAX_VALUE); 
 | 
        return registration; 
 | 
    } 
 | 
} 
 |