大家好,又见面了,我是你们的朋友全栈君。
React中用到的网络代理请求是axios,它在使用的过程中,会存在一些问题,今天就分享我遇到过的一些问题
在SpringBoot项目中的,需要实现WebMvcConfigurer,并且重写addCrosMappings方法
@Configuration
public class ApplicationAutoConfiguration implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*").allowedMethods("*").
allowedHeaders("*").allowCredentials(true);
}
}由于发送POST请求的时候会先发送一个OPTIONS的请求,但是这个OPTIONS请求中是不能和平常的Headers一样头部带上token验证信息的,当浏览器检测不到token的时候,就会被拒绝访问,所以,需要在后台做一些处理,我用的是Shiro权限认证框架,所以只需要在FormAuthenticationFilter拦截器继承的isAccessAllowed方法中判断请求的类型,返回true即可,如下图所示:

如果是Servlet容器的,需要在preHandle方法中判断一下请求的类型。
在跨域请求中,默认是不带Cookie请求信息的,所以每次请求都是不同的用户,这个时候,axios请求中,加上一个配置,就是带上Cookie等验证信息。如下图所示:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194953.html原文链接:https://javaforall.cn