首页 > 其他分享 >跨域的另一种设置方式

跨域的另一种设置方式

时间:2023-04-10 16:12:37浏览次数:41  
标签:alloweUrl 跨域 方式 getAllowedOrigins source 设置 new config

为了等保一些信息安全之类的问题:需要为系统添加访问白名单,限制哪些IP与端口号可以访问系统,其他的一概不能访问

这里涉及到前后端分离,跨域问题可以参考: https://blog.csdn.net/qq_16771097/article/details/117442727

需要在 CrosConfig 类型添加设置

配置在配置文件内

极少代码改动,相当简单

@Value("${origin.allowDevUrl}")
 private String allowDevUrl;


@Bean
public CorsFilter corsFilter() {
	UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
	org.springframework.web.cors.CorsConfiguration config = new org.springframework.web.cors.CorsConfiguration();
	config.setAllowCredentials(true);
	//config.addAllowedOrigin("*");
	config.setAllowedOrigins(getAllowedOrigins());
	config.addAllowedHeader("*");
	config.addAllowedMethod("*");
	source.registerCorsConfiguration("/**", config);
	return new CorsFilter(source);
}

//添加 dev test pro 允许访问url
private List<String> getAllowedOrigins(){
	List<String> allowedOrigins = new ArrayList<>();
	String[] devOrigins = allowDevUrl.split(",");
	for(String alloweUrl: devOrigins){
		if(StringUtils.isNotEmpty(alloweUrl)){
			allowedOrigins.add(alloweUrl.trim());
		}
	}
}
 

配置在数据库中

热生效,无需重新发版

getAllowedOrigins() 从数据库中查询即可

标签:alloweUrl,跨域,方式,getAllowedOrigins,source,设置,new,config
From: https://www.cnblogs.com/tiancai/p/17303239.html

相关文章

  • js:浏览器跨域ajax变通实现 -- flash + js + crossdomain.xml
    使用此方式能很好解决这个问题,因为考虑了php中转形式的双倍时间和莫须有的访问,不是很愿意用,除非不得已,现在找到flash的实现方法,对于能自按的服务器来说这是不错的解决方案,只需要担心的是有人不愿意安装flash控件,且能解决script方式的不能post不足,除非浏览器已经统一支持跨......
  • vue实现路由懒加载(异步加载)及组件懒加载(异步加载)的方式
    转自:槐序之夏:https://blog.csdn.net/qq_42403643/article/details/129264032一、为什么要使用路由懒加载为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题。二、定义懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载。三、使用常用的懒加......
  • c++ stdcall 方式与 C# 传递 struct 数据类型?
    usingnamespacestd;#include<iostream>#include<thread>#include<mutex>structMyStruct{char*myString;intlength;//othermembers};#ifdef__cplusplusextern"C"{#endif__declspec(dllexport)int_......
  • Java高并发专题之31、等待线程完成的方式你知道几种?
    在一个线程中需要获取其他线程的执行结果,能想到几种方式?各有什么优缺点?结合这个需求,我们使用6种方式,来对之前学过的知识点做一个回顾,加深记忆。方式1:Thread的join()方法实现代码:packagecom.itsoku.chat31;importjava.sql.Time;importjava.util.concurrent.*;/***跟......
  • ci添加任意图片验证码方式
    验证码类需要放到用户类库中只是注意的一点就是记得要清空输出缓存,否则就会造成图片不能显示D:\ProgramFiles\Apache\htdocs\edm\application\libraries\captcha.php------------<?phpif(!defined('BASEPATH'))exit('Nodirectscriptaccessallowed');classcaptcha......
  • php连接mysql 的错误:用户密码使用了旧版本的加密方式
    CannotconnecttoDatabase,pleasecheckyourconfiguration:错误代号:2000 mysqlndcannotconnecttoMySQL4.1+usingtheoldinsecureauthentication.PleaseuseanadministrationtooltoresetyourpasswordwiththecommandSETPASSWORD=PASSWORD('you......
  • 2023 最新的如何树莓派上安装中文输入法和设置中文语言环境教程 All In One
    2023最新的如何树莓派上安装中文输入法和设置中文语言环境教程AllInOne亲测有效:RaspberryPi3B+RaspberryPiOS(64-bit)descscreenshotRaspberryPi3BRaspberryPiOS(64-bit)https://www.cnblogs.com/xgqfrms/p/17300085.html#5166108操作步骤......
  • APIpost全局变量设置--案例全局tocken设置
    官方文档https://v7-wiki.apipost.cn/docs/最佳实践/请求一个需要登录才能访问的接口(基于COOKIE)编写登录API接口,添加后执行脚本脚本内容apt.globals.delete("Authorization");apt.globals.set("Authorization",response.json.data.accessToken);这里需要注意response......
  • 一个或多个页边距被设置到也可打印的页面范围之外,处理方式
    DevExpress ReportPrint的时候,出现这样的问题:  要忽略这个提示,方法为:report.CreateDocument();report.PrintingSystem.ShowMarginsWarning=false; ......
  • 河北稳控科技便携式钻孔测斜仪钻孔如何设置
    河北稳控科技便携式钻孔测斜仪钻孔如何设置 钻孔设置完成当前测区内的“当前钻孔”选择操作,完成当前测区内钻孔的添加(新建)、删除操作。在某个指定的区域内可能有多个钻孔需要测量,同一测区中的多个钻孔使用钻孔名称进行区分。设备默认保存最近一次测量时使用的当前测区内的钻......