详解springboot和vue前后端分离开发跨域登陆问题

 更新时间:2019年09月13日 10:41:43   作者:君莫笑  
这篇文章主要介绍了详解springboot和vue前后端分离开发跨域登陆问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前后端分离开发中,一般都会遇到请求跨域问题。而且一般也会遇到登陆失效问题。今天就以springboot和vue为例来看如何解决上述问题

增加过滤器

@WebFilter
@Component
public class CorsFilter implements Filter {
 @Override
 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
  HttpServletRequest request = (HttpServletRequest) req;
  HttpServletResponse response = (HttpServletResponse) res;
  response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
  response.setHeader("Access-Control-Allow-Credentials", "true");
  response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
  response.setHeader("Access-Control-Max-Age", "3600");
  response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
  System.out.println("**************************跨域过滤器被使用**************************");
  chain.doFilter(req, res);
 }
}

注意Access-Control-Allow-Origin这个属性不要用 * ,因为用 * 的话是可以解决跨域问题,但是无法解决登陆失效的问题。

axios属性设置

在Vue中使用axios来发送请求,我们增加如下设置

axios.defaults.withCredentials = true;

如果没有配置为true,默认为false则向后台发送的请求当中不携带cookie信息,如此每一次sessionID自然会不同。因此获取不到登陆信息。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 如何在Eclipse中设置Oracle的JDBC

    如何在Eclipse中设置Oracle的JDBC

    以下是对在Eclipse中设置Oracle的JDBC的具体操作方法进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • Java中的跨域和@CrossOrigin注解的作用详解

    Java中的跨域和@CrossOrigin注解的作用详解

    这篇文章主要介绍了Java中的跨域和@CrossOrigin注解的作用详解,跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制,需要的朋友可以参考下
    2023-12-12
  • Java实现按权重随机数

    Java实现按权重随机数

    这篇文章主要介绍了Java实现按权重随机数,本文给出了提出问题、分析问题、解决问题三个步骤,需要的朋友可以参考下
    2015-04-04
  • SpringCloud 2020-Ribbon负载均衡服务调用的实现

    SpringCloud 2020-Ribbon负载均衡服务调用的实现

    这篇文章主要介绍了SpringCloud 2020-Ribbon负载均衡服务调用的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Spring Boot(三)之找回熟悉的Controller,Service

    Spring Boot(三)之找回熟悉的Controller,Service

    这篇文章主要介绍了Spring Boot(三)之找回熟悉的Controller,Service,需要的朋友可以参考下
    2017-04-04
  • 解决SpringMVC拦截器path路径的坑

    解决SpringMVC拦截器path路径的坑

    这篇文章主要介绍了解决SpringMVC拦截器path路径的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • MyBatis-Plus实现字段自动填充功能的示例

    MyBatis-Plus实现字段自动填充功能的示例

    本文主要介绍了MyBatis-Plus实现字段自动填充功能的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Spring Security表单配置过程分步讲解

    Spring Security表单配置过程分步讲解

    SpringSecurity的配置基于WebSecurityConfigurerAdapter的实现类,我们这里主要讲基本配置,即configure(HttpSecurity http)方法的配置,其实大都有默认值,我们可以直接用默认值,也可以自己设置
    2023-01-01
  • maven配置阿里仓库的方法步骤

    maven配置阿里仓库的方法步骤

    这篇文章主要介绍了maven配置阿里仓库的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Java 中ThreadLocal类详解

    Java 中ThreadLocal类详解

    什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。
    2016-03-03

最新评论