当前位置: 首页 > news >正文

网站入口设计wordpress禁用用户名

网站入口设计,wordpress禁用用户名,黄页推广平台有哪些,广西网站建设代理加盟跨域问题本质是浏览器的一种保护机制#xff0c;它的初衷是为了保证用户的安全#xff0c;防止恶意网站窃取数据。 一、跨域三种情况 在请求时#xff0c;如果出现了以下情况中的任意一种#xff0c;那么它就是跨域请求#xff1a; 协议不同#xff0c;如 http 和 https… 跨域问题本质是浏览器的一种保护机制它的初衷是为了保证用户的安全防止恶意网站窃取数据。 一、跨域三种情况 在请求时如果出现了以下情况中的任意一种那么它就是跨域请求 协议不同如 http 和 https 域名不同 端口不同。 也就是说即使域名相同如果一个使用的是 http另一个使用的是 https那么它们也属于跨域访问   二、解决跨域问题 在 Spring  Boot 中跨域问题有很多种解决方案比如以下 5 个 使用 CrossOrigin 注解实现跨域 通过配置文件实现跨域 通过 CorsFilter 对象实现跨域 通过 Response 对象实现跨域 通过实现 ResponseBodyAdvice 实现跨域。 1、解决方案1通过注解跨域 使用 CrossOrigin 注解可以轻松的实现跨域此注解既可以修饰类也可以修饰方法。当修饰类时表示此类中的所有接口都可以跨域当修饰方法时表示此方法可以跨域它的实现如下 import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap;RestController CrossOrigin(origins *) public class TestController {RequestMapping(/test)public HashMapString, Object test() {return new HashMapString, Object() {{put(state, 200);put(data, success);put(msg, );}};} }优缺点分析此方式虽然虽然实现跨域比较简单但细心的朋友也能发现使用此方式只能实现局部跨域当一个项目中存在多个类的话使用此方式就会比较麻烦需要给所有类上都添加此注解。 2、解决方案2通过配置文件跨域 接下来我们通过设置配置文件的方式就可以实现全局跨域了它的实现步骤如下 创建一个新配置文件 添加 Configuration 注解实现 WebMvcConfigurer 接口 重写 addCorsMappings 方法设置允许跨域的代码。 具体实现代码如下   import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Configuration // 一定不要忽略此注解 public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**) // 所有接口.allowCredentials(true) // 是否发送 Cookie.allowedOriginPatterns(*) // 支持域.allowedMethods(new String[]{GET, POST, PUT, DELETE}) // 支持方法.allowedHeaders(*).exposedHeaders(*);} } 3、解决方案3通过 CorsFilter 跨域 此实现方式和上一种实现方式类似它也可以实现全局跨域它的具体实现代码如下 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter;Configuration // 一定不能忽略此注解 public class MyCorsFilter {Beanpublic CorsFilter corsFilter() {// 1.创建 CORS 配置对象CorsConfiguration config new CorsConfiguration();// 支持域config.addAllowedOriginPattern(*);// 是否发送 Cookieconfig.setAllowCredentials(true);// 支持请求方式config.addAllowedMethod(*);// 允许的原始请求头部信息config.addAllowedHeader(*);// 暴露的头部信息config.addExposedHeader(*);// 2.添加地址映射UrlBasedCorsConfigurationSource corsConfigurationSource new UrlBasedCorsConfigurationSource();corsConfigurationSource.registerCorsConfiguration(/**, config);// 3.返回 CorsFilter 对象return new CorsFilter(corsConfigurationSource);} } 4、解决方案4通过 Response 跨域 此方式是解决跨域问题最原始的方式但它可以支持任意的 Spring Boot 版本早期的 Spring Boot 版本也是支持的。但此方式也是局部跨域它应用的范围最小设置的是方法级别的跨域它的具体实现代码如下 import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletResponse; import java.util.HashMap;RestController public class TestController {RequestMapping(/test)public HashMapString, Object test(HttpServletResponse response) {// 设置跨域response.setHeader(Access-Control-Allow-Origin, *);return new HashMapString, Object() {{put(state, 200);put(data, success);put(msg, );}};} 5、解决方案5ResponseBodyAdvice 通过重写 ResponseBodyAdvice 接口中的 beforeBodyWrite返回之前重写方法我们可以对所有的接口进行跨域设置它的具体实现代码如下 import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;ControllerAdvice public class ResponseAdvice implements ResponseBodyAdvice {/*** 内容是否需要重写通过此方法可以选择性部分控制器和方法进行重写* 返回 true 表示重写*/Overridepublic boolean supports(MethodParameter returnType, Class converterType) {return true;}/*** 方法返回之前调用此方法*/Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,Class selectedConverterType, ServerHttpRequest request,ServerHttpResponse response) {// 设置跨域response.getHeaders().set(Access-Control-Allow-Origin, *);return body;} } 三、总结 跨域问题的本质是浏览器为了保证用户的一种安全拦截机制想要解决跨域问题只需要告诉浏览器“我是自己人不要拦我”就行。它的常见实现方式有 5 种通过注解实现局部跨域、通过配置文件实现全局跨域、通过 CorsFilter 对象实现全局跨域、通过 Response 对象实现局部跨域通过 ResponseBodyAdvice 实现全局跨域。   参考https://blog.csdn.net/m0_71777195/article/details/126830773
http://www.dnsts.com.cn/news/257515.html

相关文章:

  • 做调查问卷权威网站信息网官网
  • 勤哲网站开发视频如何修改网站域名
  • 公司网站建设应注意中国核工业华兴建设有限公司
  • 邱县手机网站建设怎么做百度推广网站
  • 免费建网站知乎个人网站 论坛
  • 保定电商网站建设做思维导图的在线网站
  • 六安哪里有做网站的怎么免费搭建一个网站
  • 图书馆理论与建设网站多店铺商城系统开源
  • 海南州建设厅官方网站商品推广软文范例200字
  • 网站cdn加速怎么入侵wordpress 自定义小工具
  • 林业建设协会网站wordpress 主题授权
  • 电商网站如何备案建网站怎么搭建自己的服务器
  • 2019销售网站开发与设计现状解析网站咋做的
  • 芜湖哪些公司做公司网站网站建设毕业设计总结
  • 深圳网站维护制作你买域名我送网站
  • 国外黄冈网站推广软件网站建设合约具体内容
  • 长沙制作手机网站网页布局有哪几种
  • 域名交易asp.net 网站safari网页视频怎么下载
  • 可以找厂家的网站云南企业网站建设
  • 营销型网站设计官网模板之家中文版
  • 织梦网站怎样上传到ftp网页素材图标
  • 龙岗网站建设_公司推广wordpress 如何登陆地址
  • 网站推广的工作内容深圳做网站商
  • 网站建设框架图温州市人才市场招聘网最新招聘
  • 沈阳网站建设咨询如何建设一个读书的网站
  • 网站如何管理广东制冷设备网站建设费用
  • 看守所加强自身网站建设工作新站网站推广公司
  • 徐州网站开发如何苏州市城乡和建设局网站首页
  • 怎样可以查看网站是由哪个公司做的网站开发多少钱农民
  • 做海报有什么好的网站推荐资阳网站建设公司