You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							58 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							58 lines
						
					
					
						
							2.1 KiB
						
					
					
				package com.ruoyi.framework.config; | 
						|
 | 
						|
import java.util.HashMap; | 
						|
import java.util.Map; | 
						|
import javax.servlet.DispatcherType; | 
						|
import org.springframework.beans.factory.annotation.Value; | 
						|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | 
						|
import org.springframework.boot.web.servlet.FilterRegistrationBean; | 
						|
import org.springframework.context.annotation.Bean; | 
						|
import org.springframework.context.annotation.Configuration; | 
						|
import com.ruoyi.common.filter.RepeatableFilter; | 
						|
import com.ruoyi.common.filter.XssFilter; | 
						|
import com.ruoyi.common.utils.StringUtils; | 
						|
 | 
						|
/** | 
						|
 * Filter配置 | 
						|
 * | 
						|
 * @author ruoyi | 
						|
 */ | 
						|
@Configuration | 
						|
public class FilterConfig | 
						|
{ | 
						|
    @Value("${xss.excludes}") | 
						|
    private String excludes; | 
						|
 | 
						|
    @Value("${xss.urlPatterns}") | 
						|
    private String urlPatterns; | 
						|
 | 
						|
    @SuppressWarnings({ "rawtypes", "unchecked" }) | 
						|
    @Bean | 
						|
    @ConditionalOnProperty(value = "xss.enabled", havingValue = "true") | 
						|
    public FilterRegistrationBean xssFilterRegistration() | 
						|
    { | 
						|
        FilterRegistrationBean registration = new FilterRegistrationBean(); | 
						|
        registration.setDispatcherTypes(DispatcherType.REQUEST); | 
						|
        registration.setFilter(new XssFilter()); | 
						|
        registration.addUrlPatterns(StringUtils.split(urlPatterns, ",")); | 
						|
        registration.setName("xssFilter"); | 
						|
        registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE); | 
						|
        Map<String, String> initParameters = new HashMap<String, String>(); | 
						|
        initParameters.put("excludes", excludes); | 
						|
        registration.setInitParameters(initParameters); | 
						|
        return registration; | 
						|
    } | 
						|
 | 
						|
    @SuppressWarnings({ "rawtypes", "unchecked" }) | 
						|
    @Bean | 
						|
    public FilterRegistrationBean someFilterRegistration() | 
						|
    { | 
						|
        FilterRegistrationBean registration = new FilterRegistrationBean(); | 
						|
        registration.setFilter(new RepeatableFilter()); | 
						|
        registration.addUrlPatterns("/*"); | 
						|
        registration.setName("repeatableFilter"); | 
						|
        registration.setOrder(FilterRegistrationBean.LOWEST_PRECEDENCE); | 
						|
        return registration; | 
						|
    } | 
						|
 | 
						|
}
 | 
						|
 |