普通项目解决跨域问题和springSecurity解决跨域问题

普通项目解决跨域问题

添加一个配置文件

package com.lzy.config;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;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class CorsConfig implements WebMvcConfigurer {private CorsConfiguration buildConfig() {CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.addAllowedOrigin("*");corsConfiguration.addAllowedHeader("*");corsConfiguration.addAllowedMethod("*");corsConfiguration.addExposedHeader("Authorization");return corsConfiguration;}@Beanpublic CorsFilter corsFilter() {UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", buildConfig());return new CorsFilter(source);}@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*")
//          .allowCredentials(true).allowedMethods("GET", "POST", "DELETE", "PUT").maxAge(3600);}
}

springSecurity解决跨域问题

不光要添加上面的文件,还需要写一个springSecurity的配置类

package com.lzy.config;import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true) // 开启方法级别的权限注解
public class SecurityConfig extends WebSecurityConfigurerAdapter {private static final String[] URL_WHITELIST = {"/login","/logout","/captcha","/favicon.ico", // 防止 favicon 请求被拦截};protected void configure(HttpSecurity http) throws Exception {//跨域配置http.cors().and().csrf().disable()//登录配置.formLogin()
//            .successHandler().failureHandler()//禁用session.and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)//配置拦截规则.and().authorizeRequests()//白名单.antMatchers(URL_WHITELIST).permitAll()//其他请求都需要认证.anyRequest().authenticated();//异常处理器//配置自定义的过滤器}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机mkv转换mp4:轻松实现视频格式兼容

如今手机已成为我们日常生活中不可或缺的伴侣,而视频文件则是我们享受娱乐、获取信息的重要来源。然而,由于不同设备和平台对视频格式的支持各有不同,我们有时会遇到无法在手机上播放某些视频文件的问题。 mkv是一种常见的视频格式&#xff…

java接口 controller层接收list集合传参,postman 调用接口时required parameter XXX is not present

开发过程中开发一个java接口 controller层接收list集合传参,然后postman调用一直不成功,报错 使用RequestParam方式,如果postman 调用接口时报错required parameter XXX is not present 可能是(value“items”)跟你输…

A Neural Probabilistic Language Model

摘要 统计语言建模的一个目标是学习单词序列的联合概率函数。由于维度的诅咒,这在本质上是困难的:我们建议用它自己的武器来对抗它。在提出的方法中,人们同时学习(1)每个单词的分布式表示(词向量)(即单词之间的相似性)以及(2)表示…

在进行网站链接时,‌加上http或https的重要性不言而喻

这一简单的操作背后,‌蕴含着对搜索引擎优化(‌SEO)‌的深刻理解,‌以及对网站权重提升的精准把握。‌以下,‌我们将深入探讨这一话题,‌以期为您的网站优化提供有价值的参考。‌优化(‌SEO&…

C/C++控制台贪吃蛇游戏的实现

🚀欢迎互三👉:程序猿方梓燚 💎💎 🚀关注博主,后期持续更新系列文章 🚀如果有错误感谢请大家批评指出,及时修改 🚀感谢大家点赞👍收藏⭐评论✍ 一、…

数据可视化大屏模板-美化图表

Axure作为一款强大的原型设计软件,不仅擅长构建交互式界面,更在数据可视化方面展现出了非凡的创意与实用性。今天,就让我们一起探索Axure设计的几款精美数据可视化大屏模板,感受数据之美。 立体图表的视觉冲击力 Axure的数据可视…

银河麒麟桌面操作系统V10:如何设置应用开机自启动?

银河麒麟桌面操作系统V10:如何设置应用开机自启动? 1、图形界面设置2、命令行设置3、注意 💖The Begin💖点点关注,收藏不迷路💖 1、图形界面设置 打开“设置”->“系统”->“开机启动”。点击“添加…

5000套精美PPT免费分享

目录 部分展示目录 几乎包含各种应用场景的PPT模板 这里只展示部分目录 部分展示目录 ##PPT下载 链接:https://pan.baidu.com/s/1ckvN9xeMR82hL30lHXfJ0g 提取码:ZYNB 点击下载,记得点个赞哦

ELK进阶-安全认证设置流程介绍

目录 一、前言 二、ElasticSearch的安全认证配置 设置ElasticSearch的安全认证功能(最低) 启用TLS/SSL加密通信 (1)生成CA证书 (2)生成transport证书 (3)生成http证书 &#…

【习题】应用程序框架进阶

1. 一个应用是由一个或多个HAP组成。 A、正确(True) B、错误(False) 2. UIAbility组件多实例启动模式是默认的启动模式。 A、正确(True) B、错误(False) 单选题 1. 以下关于指定实例启动模式说法正确的是? A. 系统每次启动UIAbility组件&#xff0…

docker镜像,ip,端口映射,持久化

docker 镜像的迁移:导出和导入镜像 查看镜像: [rootdocker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 5d0da3dc9764 2 years ago 231MB 打包 将镜像打包,找到save,可以将…

【非常困难】 猿人学web第一届 第10题 js 混淆 - 重放攻击对抗

文章目录 调试干扰第一个 debuggerHook 代码 第二个 debuggerHook 代码 第三个 Function.constructor.prototype 检测Hook 代码 完整的 Hook 代码 接口分析加密参数 m 生成位置加密参数还原加密点扣代码提示_yrxyA\$()var _yrxmEu _yrxWKg(_yrxyHJ...._yrxWKg() let result _…

半枚玄月照见人间空荡荡

半枚玄月照见人间空荡荡 昨夜玄月昨夜风,轻吹往事落心中。 众里寻他为何事?鸡鸣月落一场空。玄月 沙发上刷短视频笑得不经意抬头,忽而瞥见窗口防盗网挂着半枚月亮,玄黄色的,温润而冷冽,引人注目。 手机里…

国货之光|暴雨机推出面向大模型训练的AI服务器

当前,“百模大战”带来了算力需求的爆发,尤其是以ChatGPT为代表的多模态AI大模型,‌其参数规模和训练数据量均达到了前所未有的规模。‌GPT-3.5、‌GPT-4等模型的参数规模突破了万亿级别,‌训练数据量达到了TB级别,‌这…

zdppy+vue3+onlyoffice文档管理系统实战 20240823上课笔记 zdppy_cache框架的低代码实现

遗留问题 1、封装API2、有账号密码3、查询所有有效的具体数据,也就是缓存的所有字段 封装查询所有有效具体数据的方法 基本封装 def get_all(self, is_activeTrue, limit100000):"""遍历数据库中所有的key,默认查询所有没过期的:para…

基于GPT回答:结合不同专业,论述GIS应用的关键技术问题

1. 智能化数据质量管理 **技术挑战:** - 自动化数据清洗与补全 - 自适应数据标准化 **解决方案:** - **AI驱动的数据处理**:利用深度学习进行数据修复和格式转换,提高数据质量和一致性。 2. 高效空间数据集成 **技术挑战&a…

【Tools】区块链技术的应用场景和优势

紧紧握着 青花信物 信守着承诺 离别总在 失意中度过 记忆油膏 反复涂抹 无法愈合的伤口 你的回头 划伤了沉默 🎵 周传雄《青花》 区块链技术的应用场景和优势是多样且广泛的。以下是一些常见的应用场景和优势: 金融服务&#xff1a…

51单片机——LED灯控制

1、LED介绍 中文名:发光二极管 外文名:Light Emitting Diode 简称:LED 用途:照明、广告灯、指引灯、屏幕 2、LED原理图 电阻在原理图上标注为1k,表示这是1千欧的电阻,实际在电路板上的表示是102 102解…

Godot《躲避小兵》实战之创建游戏主场景

游戏主场景 现在是时候将我们所做的一切整合到一个可玩的游戏场景中了。 创建新场景并添加一个 Node节点,命名为 Main。(我们之所以使用 Node 而不是 Node2D,是因为这个节点会作为处理游戏逻辑的容器使用。本身是不需要 2D 功能的。&#x…

C\C++ Sqlite3使用详解

C\C++ Sqlite3使用详解 一、源码下载二、sqlite3接口说明C++2.1 项目创建以及sqlite3使用2.1 连接数据库2.2 sqlite创建表2.2.1 示例代码2.2.2 注意事项2.3 sqlite插入数据2.3.1 示例代码2.3.2 注意事项2.4 sqlite数据删除2.5 sqlite数据查询一、源码下载 下载地址: https://…