Spring boot+Spring security跨域返回302

本文介绍了在Spring Boot+Spring Security环境下,遇到前端跨域访问返回302重定向的问题。在尝试多种跨域配置无效后,通过分析发现预检OPTIONS请求未携带登录信息导致重定向。解决方案是在拦截器中针对OPTIONS请求返回204状态码,成功解决跨域问题。文中提供了相关参考资料和项目配置示例。
摘要由CSDN通过智能技术生成

问题:
前后端分离,后端使用的Spring boot+Spring security
调试过程中前端需要跨域访问后端的接口获取数据,尝试了网上提供的N种跨域方案都是返回302
调试发现,登录拦截器这边获取不到用户的登录信息,所以一直重定向到登录页面

解决过程:
参考资料:
https://www.cnblogs.com/yuarvin/p/10923280.html
https://www.jianshu.com/p/5c637bfcc674

应该是预检OPTIOINS请求没有携带登录信息,所以一直被重定向
尝试这样处理了一下,如果是OPTIONS请求则直接返回204,结束该请求,问题得到解决

下面贴一下我在项目中的配置:

@Component
public class CorsInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        // 此处配置的是允许任意域名跨域请求,可根据需求指定
        response.setHeader("Access-Control-Allow-Origin", request.getHeader("
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值