支持CORS跨域请求
This commit is contained in:
		
							parent
							
								
									133a10ecf2
								
							
						
					
					
						commit
						1e40e60dbf
					
				@ -1,7 +1,11 @@
 | 
			
		||||
package com.ruoyi.framework.config;
 | 
			
		||||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.web.cors.CorsConfiguration;
 | 
			
		||||
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
 | 
			
		||||
import org.springframework.web.filter.CorsFilter;
 | 
			
		||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 | 
			
		||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 | 
			
		||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 | 
			
		||||
@ -39,4 +43,24 @@ public class ResourcesConfig implements WebMvcConfigurer
 | 
			
		||||
    {
 | 
			
		||||
        registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 跨域配置
 | 
			
		||||
     */
 | 
			
		||||
    @Bean
 | 
			
		||||
    public CorsFilter corsFilter()
 | 
			
		||||
    {
 | 
			
		||||
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
 | 
			
		||||
        CorsConfiguration config = new CorsConfiguration();
 | 
			
		||||
        config.setAllowCredentials(true);
 | 
			
		||||
        // 设置访问源地址
 | 
			
		||||
        config.addAllowedOrigin("*");
 | 
			
		||||
        // 设置访问源请求头
 | 
			
		||||
        config.addAllowedHeader("*");
 | 
			
		||||
        // 设置访问源请求方法
 | 
			
		||||
        config.addAllowedMethod("*");
 | 
			
		||||
        // 对接口配置跨域设置
 | 
			
		||||
        source.registerCorsConfiguration("/**", config);
 | 
			
		||||
        return new CorsFilter(source);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -12,6 +12,8 @@ import org.springframework.security.config.http.SessionCreationPolicy;
 | 
			
		||||
import org.springframework.security.core.userdetails.UserDetailsService;
 | 
			
		||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 | 
			
		||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
 | 
			
		||||
import org.springframework.security.web.authentication.logout.LogoutFilter;
 | 
			
		||||
import org.springframework.web.filter.CorsFilter;
 | 
			
		||||
import com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter;
 | 
			
		||||
import com.ruoyi.framework.security.handle.AuthenticationEntryPointImpl;
 | 
			
		||||
import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl;
 | 
			
		||||
@ -47,6 +49,12 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
 | 
			
		||||
     */
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private JwtAuthenticationTokenFilter authenticationTokenFilter;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 跨域过滤器
 | 
			
		||||
     */
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private CorsFilter corsFilter;
 | 
			
		||||
    
 | 
			
		||||
    /**
 | 
			
		||||
     * 解决 无法直接注入 AuthenticationManager
 | 
			
		||||
@ -112,6 +120,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
 | 
			
		||||
        httpSecurity.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler);
 | 
			
		||||
        // 添加JWT filter
 | 
			
		||||
        httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
 | 
			
		||||
        // 添加CORS filter
 | 
			
		||||
        httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class);
 | 
			
		||||
        httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -178,6 +178,8 @@ public class GenController extends BaseController
 | 
			
		||||
    private void genCode(HttpServletResponse response, byte[] data) throws IOException
 | 
			
		||||
    {
 | 
			
		||||
        response.reset();
 | 
			
		||||
        response.addHeader("Access-Control-Allow-Origin", "*");
 | 
			
		||||
        response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
 | 
			
		||||
        response.setHeader("Content-Disposition", "attachment; filename=\"ruoyi.zip\"");
 | 
			
		||||
        response.addHeader("Content-Length", "" + data.length);
 | 
			
		||||
        response.setContentType("application/octet-stream; charset=UTF-8");
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user