记录一次前后端分离中session问题(应用场景:session记录验证码信息)

最近在学习一个前后端分离的项目,有一个需求是:后端生成验证码,并保存在session中。
但是会存在一些问题,因为不同源,所以存在跨域,导致cookie不能被后端接收到,从而导致无法使用session,后来查阅资料解决了,特此记录一些。

后端需要允许跨域,全局配置:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    
    

    @Override
    public void addCorsMappings(CorsRegistry registry) {
    
    
        //设置允许跨域的路径
        registry.addMapping("/**")
                //是否允许证书,不再默认开启
                .allowCredentials(true)
                .allowedOrigins("http://localhost:8080")
                //设置允许的方法
                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                //跨域允许时间
                .maxAge(3600);
    }
}

后端允许跨域还不行,前端也必须配置,因为跨域请求下,请求并不会携带cookie。

因为我前端使用的是vue + axios ,所以配置如下:

import $http from 'axios'
$http.defaults.withCredentials=true;

至此,跨域问题完全解决了。

おすすめ

転載: blog.csdn.net/weixin_45775746/article/details/122529882