springboot+springsecurity+vue整合项目,解决跨域问题和token失效或为空获取不到返回的状态码问题

1.在springboot中解决跨域的问题,用两种方法,一种是在类名或方法名前加上注解@CrossOrigin即可,但是在每个方法前都加上注解都很麻烦,因为是前后端分离,几乎所有的方法的都需要跨域访问,这是时候就要用到另一种方法了,添加一个配置类即可

/**
 * 允许跨域访问
 * 跨域访问类配置
 */
@Configuration
public class CorsConfig {

    private CorsConfiguration buildConfig(){
        CorsConfiguration corsConfiguration=new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");//允许任何域名
        corsConfiguration.addAllowedHeader("*");//允许任何头
        corsConfiguration.addAllowedMethod("*");//允许任何方法(post,get,delete...)
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter(){
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**",buildConfig());
        return new CorsFilter(source);
    }
}

2.但在整合到springsecurity的时候,发现token失效或为空获取不到返回的状态码问题,是因为springsecurity的配置也要允许跨域访问,springsecurity配置类里加上.cors()即可
在这里插入图片描述

发布了14 篇原创文章 · 获赞 6 · 访问量 6327

猜你喜欢

转载自blog.csdn.net/weixin_43817709/article/details/102725202
今日推荐