zoukankan      html  css  js  c++  java
  • 按配置文件来装配filter

    public class PreviewFilter implements Filter {
    
        private static final List<String> KEYS = new ArrayList<>();
    
        static {
            KEYS.add("notice");
            KEYS.add("process");
            KEYS.add("work");
            KEYS.add("token");
        }
    
    
        @Override
        public void init(FilterConfig filterConfig) {
        }
    
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    
            HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
            String path = httpServletRequest.getServletPath();
            String method = httpServletRequest.getMethod();
    
            String get = "GET";
            if (method.equals(get) || KEYS.stream().anyMatch(path::contains)) {
                filterChain.doFilter(servletRequest, servletResponse);
            } else {
                throw new RuntimeException("演示环境暂时无法操作!");
            }
    
        }
    
        @Override
        public void destroy() {
        }
    }
    @Configuration
    public class BladeConfiguration implements WebMvcConfigurer {
    
        @Bean
        public SecureRegistry secureRegistry() {
            SecureRegistry secureRegistry = new SecureRegistry();
            secureRegistry.setEnabled(true);
            secureRegistry.excludePathPatterns("/blade-auth/**");
            secureRegistry.excludePathPatterns("/blade-log/**");
            secureRegistry.excludePathPatterns("/blade-system/menu/routes");
            secureRegistry.excludePathPatterns("/blade-system/menu/auth-routes");
            secureRegistry.excludePathPatterns("/blade-system/menu/top-menu");
            secureRegistry.excludePathPatterns("/blade-system/tenant/info");
            secureRegistry.excludePathPatterns("/blade-flow/process/resource-view");
            secureRegistry.excludePathPatterns("/blade-flow/process/diagram-view");
            secureRegistry.excludePathPatterns("/blade-flow/manager/check-upload");
            secureRegistry.excludePathPatterns("/doc.html");
            secureRegistry.excludePathPatterns("/js/**");
            secureRegistry.excludePathPatterns("/webjars/**");
            secureRegistry.excludePathPatterns("/swagger-resources/**");
            secureRegistry.excludePathPatterns("/druid/**");
            return secureRegistry;
        }
    
        @Bean
        @ConditionalOnProperty(value = "blade.preview.enabled", havingValue = "true")
        public PreviewFilter previewFilter() {
            return new PreviewFilter();
        }
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/cors/**")
                .allowedOrigins("*")
                .allowedHeaders("*")
                .allowedMethods("*")
                .maxAge(3600)
                .allowCredentials(true);
        }
    
        @Bean
        public Jackson2ObjectMapperBuilderCustomizer builderCustomizer() {
            DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            DateTimeFormatter dateTimeSerializeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            DateTimeFormatter dateTimeDeserializeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
            return builder -> {
                // 所有Long类型转换成String到前台
                builder.serializerByType(Long.class, ToStringSerializer.instance);
                builder.serializerByType(LocalDateTime.class, new LocalDateSerializer(dateTimeSerializeFormatter));
            };
        }
    
    }

  • 相关阅读:
    OCP-1Z0-051-V9.02-162题
    OCP-1Z0-051-V9.02-161题
    OCP-1Z0-051-V9.02-160题
    Matlab中矩阵的分解
    OCP-1Z0-051-V9.02-158题
    OCP-1Z0-051-V9.02-157题
    Matlab中特殊的矩阵函数
    求Matlab中矩阵的秩和迹
    Matlab中的条件数
    在android里使用boost c++
  • 原文地址:https://www.cnblogs.com/dkws/p/13208108.html
Copyright © 2011-2022 走看看