springboot解决前后端分离项目中跨越请求,同源策略

勿忘丶心安      2022-04-13     528

关键词:

今天在做项目的过程,采用前后端分离技术的时遇到采用ajax请求无法访问后台接口,按F12,查看浏览器运行状态时,报如下错误

为了解决浏览的同源策略,就必须了解什么是同源策略。

1.什么是同源策略

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。

而所谓同源是指,域名,协议,端口相同。如静态资源所在的服务器和后端接口所在服务器不是同一个服务器时,必然需要跨域获取数据

2.解决同源策略,实现数据的跨院问题的方法

 在springboot的启动类下编写以下代码,并引入红色代码部分对应的包
package com.example.bookdinner;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;


@SpringBootApplication
public class BookdinnerApplication {

    public static void main(String[] args) {
        SpringApplication.run(BookdinnerApplication.class, args);
    }
    
    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        return corsConfiguration;
    }
    /**
     * 跨域过滤器
     * @return
     */
    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig()); // 4
        return new CorsFilter(source);
    }

}

将代码编写完后,重启后台服务,便可以解决同源策略问题,此时便可以访问后台的接口。

此方法可行,笔者亲身尝试过

 

springboot微人事管理系统前后端分离附源码

参考技术A项目介绍:此项目是由SpringBoot+Vue前后端分离技术开发,共同学习前后端分离开发项目,共同学习后端技术:前端技术系统部署由于我在vuehr项目中已经配置了端口转发,将数据转发到SpringBoot上,因此项目启动之后,在... 查看详情

解决前后端分离开发,后端重定向不到前端页面问题

参考技术A公司项目使用的是springboot+angularjs这种前后端不完全分离的开发方式,前段时间把项目改成springboot+vue前后端完全分离,开发过程中有个后端重定向问题。后端项目地址:http://localhost:8080/,前端项目地址:http://localhost:9... 查看详情

解决前后端分离开发,后端重定向不到前端页面问题

参考技术A公司项目使用的是springboot+angularjs这种前后端不完全分离的开发方式,前段时间把项目改成springboot+vue前后端完全分离,开发过程中有个后端重定向问题。后端项目地址:http://localhost:8080/,前端项目地址:http://localhost:9... 查看详情

前后端分离项目中springboot集成shiro实现权限控制

文章目录​​使用注解控制鉴权授权​​​​使用url配置控制鉴权授权​​​​表结构​​​​jar包依赖​​​​代码说明​​​​身份认证​​​​权限认证​​​​跨域问题解决​​​​登录验证不进行重定向改为设置http... 查看详情

springboot+vue前后端分离项目架构

SpringBoot+Vue前后端分离项目架构项目流程:1.SpringBoot后端项目1、新建一个SpringBoot工程,并添加项目开发过程中需要的相关依赖;2、数据库新建book数据表;--------------------------------Tablestructureforbook------------------- 查看详情

springboot+vue+antdesign前后端分离解决方案

项目介绍一款Java语言基于SpringBoot2.x、MybatisPlus、Vue、AntDesign、MySQL等框架精心打造的一款前后端分离框架,致力于实现模块化、组件化、可插拔的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统&#... 查看详情

八个开源的springboot前后端分离项目,一定要收藏!

八个开源的SpringBoot前后端分离项目最近前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,我们也非常建议大家学习一下前后端分离开发,以免在... 查看详情

八个开源的springboot前后端分离项目,一定要收藏!

八个开源的SpringBoot前后端分离项目最近前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,我们也非常建议大家学习一下前后端分离开发,以免在... 查看详情

《springboot入门及前后端分离项目实践》系列介绍

课程计划课程地址点这里本课程是一个SpringBoot技术栈的实战类课程,课程共分为3个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是SpringBoot项目实践开发。SpringBoot介绍、前后端分离、API规范等内容旨在让读... 查看详情

springboot+vue前后端项目的分离(我的第一个前后端分离项目)(代码片段)

文章目录1、前端vue的搭建2、后端项目的构建pom文件中引入的jar包yml文件用来配置连接数据库和端口的设置application.property进行一些整合controller层(这里返回给前端的数据用json)service层imp层mapper实体类额外写一个类、解... 查看详情

前后端分离springboot+springcloudalibaba+vue一||项目架构简介

1、概述??本项目是一个基于SpringBoot2.x+vue2.X的分布式微服务架构项目,项目会不断进行迭代更新。该项目后端利用SpringCloudAlibaba微服务架构解决方案进行重构。项目前端利用vue框架开发,页面展示主要为pc端和手机端(微信公众... 查看详情

七个开源的springboot前后端分离项目,一定要收藏!

...动端、Electron环境中的各种开发模式;后端有两个版本:SpringBoot版本和SpringCloud版本,前端有Angular、React以及Electron等版本。项目效果图:微人事star数9313项目地址:https://github.com/lenve/vhr微人事是一个前后端分离的人力资源管理... 查看详情

springboot+vue+shiro实现前后端分离权限控制

本文总结自实习中对项目的重构。原先项目采用Springboot+freemarker模版,开发过程中觉得前端逻辑写的实在恶心,后端Controller层还必须返回Freemarker模版的ModelAndView,逐渐有了前后端分离的想法,由于之前,没有接触过,主要参考... 查看详情

前后端分离跨域问题解决方案

问题  因为最近在学习vue和springboot.用到了前后端分离.前端webpack打包运行的时候会启动nodejs的服务器占用8080端口,后端springboot自带tomcat启动占用1111端口(我自己设置的)...导致前端请求的ajax到后台会产生跨域问题...然后自己试... 查看详情

前后端分离项目(vue+springboot)集成pageoffice实现在线编辑office文件

...如:<scripttype="text/javascript"src="http://localhost:8081/samples-springboot-back/pageoffice.js"></script>在您要打开文件的Vue页面,通过超链接点击或者按钮点击触发调用POBrowser打开一个新的Vue页面。比如通过超链接打开了一个新的Word.vue... 查看详情

springboot搭建web项目(前后端分离,附项目源代码地址)

springBoot搭建web项目(前后端分离,附项目源代码地址)  概述该项目包含springBoot-example-ui和springBoot-example,分别为前端与后端,前后端分离,利用ajax交互。springBoot-example-ui前端html技术:BootStrap + layer + jquer... 查看详情

springboot+vue+shiro实现前后端分离权限控制

...9813177.html本文总结自实习中对项目的重构。原先项目采用Springboot+freemarker模版,开发过程中觉得前端逻辑写的实在恶心,后端Controller层还必须返回Freemarker模版的ModelAndView,逐渐有了前后端分离的想法,由于之前,没有接触过,... 查看详情

前后端分离的跨域请求问题解决

因为工作中接触到了,就记录下来。主要是两个jar包的使用可以自己看看源码或是其他对内部方法讲解的资料。web.xml配置。  查看详情