- 文章目录 1.什么是跨域2.解决方案2.1 存在的问题 3.SpringSecurity3.1 方式一3.2 方式二 4.OAuth25.小结 跨域这个问题松哥之前写过文章,但是最近收到小伙伴们的一些问题,让我发现之前的总结不够全面,因此打算再写一篇文章,来和大家分享一下 Spring Boot 中的跨域问题。 这次我把 Spring Boot 中的... 文章目录 1.什么是跨域2.解决方案2.1 存在的问题 3.SpringSecurity3.1 方式一3.2 方式二 4.OAuth25.小结 跨域这个问题松哥之前写过文章,但是最近收到小伙伴们的一些问题,让我发现之前的总结不够全面,因此打算再写一篇文章,来和大家分享一下 Spring Boot 中的跨域问题。 这次我把 Spring Boot 中的...
- 最近一段时间,大家在用 Spring Security OAuth2 时可能发现有很多类过期了。 大家在选择 OAuth2 依赖的时候,可能也会困惑,有好几个地方都可以选: 那么到底选择哪一个依赖合适呢?这不同的依赖又有什么区别?今天松哥就来和大家聊一聊 Spring Security 中关于 OAuth2 的恩怨。 前言 先来大致介绍一下 OAuth2... 最近一段时间,大家在用 Spring Security OAuth2 时可能发现有很多类过期了。 大家在选择 OAuth2 依赖的时候,可能也会困惑,有好几个地方都可以选: 那么到底选择哪一个依赖合适呢?这不同的依赖又有什么区别?今天松哥就来和大家聊一聊 Spring Security 中关于 OAuth2 的恩怨。 前言 先来大致介绍一下 OAuth2...
- 文章目录 1.异常解析器概览2.AbstractHandlerExceptionResolver2.1 AbstractHandlerMethodExceptionResolver2.1.1 ExceptionHandlerExceptionResolver 2.2 DefaultHandlerExceptionResolver2.3 ResponseStatu... 文章目录 1.异常解析器概览2.AbstractHandlerExceptionResolver2.1 AbstractHandlerMethodExceptionResolver2.1.1 ExceptionHandlerExceptionResolver 2.2 DefaultHandlerExceptionResolver2.3 ResponseStatu...
- 答案是能! 松哥之前写过类似的文章,但是主要是讲了用法,今天我们来看看原理! 本文基于当前 Spring Security 5.3.4 来分析,为什么要强调最新版呢?因为在在 5.0.11 版中,角色继承配置和现在不一样。旧版的方案我们现在不讨论了,直接来看当前最新版是怎么处理的。 1.角色继承案例 我们先来一个简单的权限案例。 创建一个 Spring Boo... 答案是能! 松哥之前写过类似的文章,但是主要是讲了用法,今天我们来看看原理! 本文基于当前 Spring Security 5.3.4 来分析,为什么要强调最新版呢?因为在在 5.0.11 版中,角色继承配置和现在不一样。旧版的方案我们现在不讨论了,直接来看当前最新版是怎么处理的。 1.角色继承案例 我们先来一个简单的权限案例。 创建一个 Spring Boo...
- 我们来继续撸 Spring Security 源码。 SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的文章中,松哥曾经多次提到过,Spring Security 过滤器链中的每一个过滤器,都是通过 xxxConfigurer 来进行配置的,而这些 xxxConfigurer 实际上都是 SecurityConf... 我们来继续撸 Spring Security 源码。 SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的文章中,松哥曾经多次提到过,Spring Security 过滤器链中的每一个过滤器,都是通过 xxxConfigurer 来进行配置的,而这些 xxxConfigurer 实际上都是 SecurityConf...
- 做微人事的小伙伴(https://github.com/lenve/vhr),应该都发现了在微人事中有一个极为特殊的请求,那就是登录。 登录请求是一个 POST 请求,但是数据传输格式是 key/value 的形式。整个项目里就只有这一个 POST 请求是这样,其他 POST 请求都是 JSON 格式的数据。 为什么做成这个样子呢?还是懒呗。 因为 Spring ... 做微人事的小伙伴(https://github.com/lenve/vhr),应该都发现了在微人事中有一个极为特殊的请求,那就是登录。 登录请求是一个 POST 请求,但是数据传输格式是 key/value 的形式。整个项目里就只有这一个 POST 请求是这样,其他 POST 请求都是 JSON 格式的数据。 为什么做成这个样子呢?还是懒呗。 因为 Spring ...
- 最近的又一头扎进 Spring Security+CAS 上面了,CAS 单点登录已经连续写了四篇了,小伙伴们一定按顺序阅读哦,这样后面的文章才好理解。 上篇文章和大家分享了 CAS Server 接入数据库的问题,今天我们来看下如何在 CAS Server 上自定义登录页面,因为正常来说,我们是不会直接用官方给出的登录页面的。 本文是 Spring Securit... 最近的又一头扎进 Spring Security+CAS 上面了,CAS 单点登录已经连续写了四篇了,小伙伴们一定按顺序阅读哦,这样后面的文章才好理解。 上篇文章和大家分享了 CAS Server 接入数据库的问题,今天我们来看下如何在 CAS Server 上自定义登录页面,因为正常来说,我们是不会直接用官方给出的登录页面的。 本文是 Spring Securit...
- 本文由读者 muggle 投稿,muggle 是一位具备极客精神的90后单身老实猿,对 Spring Security 有丰富的使用经验,muggle 个人博客地址是 https://muggle0.github.io。 Security 原理分析 SpringSecurity 过滤器链 SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器... 本文由读者 muggle 投稿,muggle 是一位具备极客精神的90后单身老实猿,对 Spring Security 有丰富的使用经验,muggle 个人博客地址是 https://muggle0.github.io。 Security 原理分析 SpringSecurity 过滤器链 SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器...
- 最近因为因为项目的原因,一直在寻找一款合适的前端模版,之前的 Vue 前端页面都是自己写的,写多了就烦了,因为功能都差不多,写来写去就没意思了。 所以在新项目中想看看市面上的 Vue 后台管理模版,找个现成的,改一改基本就 OK 了,团队也省事一些。 老实说,Vue 的生态还是相当丰富的,经典的、新生的后台管理框架都有,我这里和大家分享我们这次重点比较的三个。 v... 最近因为因为项目的原因,一直在寻找一款合适的前端模版,之前的 Vue 前端页面都是自己写的,写多了就烦了,因为功能都差不多,写来写去就没意思了。 所以在新项目中想看看市面上的 Vue 后台管理模版,找个现成的,改一改基本就 OK 了,团队也省事一些。 老实说,Vue 的生态还是相当丰富的,经典的、新生的后台管理框架都有,我这里和大家分享我们这次重点比较的三个。 v...
- 技术日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的。 网上的资料多如牛毛,但是很多时候我们缺的不是一个资料,而是一个学习规划! 就是说,做 Java 开发,我们应该从哪里开始学?应该学习哪些东西?应该按照什么样的顺序来学? 松哥大二刚开始自学 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,自己一个人摸索了很长时... 技术日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的。 网上的资料多如牛毛,但是很多时候我们缺的不是一个资料,而是一个学习规划! 就是说,做 Java 开发,我们应该从哪里开始学?应该学习哪些东西?应该按照什么样的顺序来学? 松哥大二刚开始自学 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,自己一个人摸索了很长时...
- Spring 源码继续开整! 上篇文章中,松哥和大家分享了 Spring 中配置文件的加载方式,如果小伙伴们还没看过,一定先看一下,这有助于更好的理解本文,传送门:Spring 源码第一篇开整!配置文件是怎么加载的?。 上篇文章和大家分享了 Spring 中是如何加载本地配置文件的,如何将加载到的本地配置文件通过一个 InputStream 返回。了解到这一点之后,... Spring 源码继续开整! 上篇文章中,松哥和大家分享了 Spring 中配置文件的加载方式,如果小伙伴们还没看过,一定先看一下,这有助于更好的理解本文,传送门:Spring 源码第一篇开整!配置文件是怎么加载的?。 上篇文章和大家分享了 Spring 中是如何加载本地配置文件的,如何将加载到的本地配置文件通过一个 InputStream 返回。了解到这一点之后,...
- 如果你基于Spring Cloud对外发布一个接口,实际上就是支持http协议的,对外发布的就是一个最最普通的Spring MVC的http接口 feign,他是对一个接口打了一个注解,他一定会针对这个注解标注的接口生成动态代理,然后你针对feign的动态代理去调用他的方法的时候,此时会在底层生成http协议格式的请求: /order/create?productI... 如果你基于Spring Cloud对外发布一个接口,实际上就是支持http协议的,对外发布的就是一个最最普通的Spring MVC的http接口 feign,他是对一个接口打了一个注解,他一定会针对这个注解标注的接口生成动态代理,然后你针对feign的动态代理去调用他的方法的时候,此时会在底层生成http协议格式的请求: /order/create?productI...
- 整合示例 1、依赖 pom.xml <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ar... 整合示例 1、依赖 pom.xml <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ar...
- 第15 章 : Annotation注解 71 Annotation简介 JDK>=1.5 作用 1、减少程序配置的代码 2、进行结构化定义 以注解的形式实现程序开发 程序代码(资源调度) 资源:关系型数据库 + NoSQL系统 + 消息服务 + 数据服务 配置文件:数据库连接资源 + 其他连接资源 程序开发结构的历史 第一阶段:所有配置都写在程序代码... 第15 章 : Annotation注解 71 Annotation简介 JDK>=1.5 作用 1、减少程序配置的代码 2、进行结构化定义 以注解的形式实现程序开发 程序代码(资源调度) 资源:关系型数据库 + NoSQL系统 + 消息服务 + 数据服务 配置文件:数据库连接资源 + 其他连接资源 程序开发结构的历史 第一阶段:所有配置都写在程序代码...
- 热部署 1、页面热部署 application.properties文件中配置 spring.thymeleaf.cache=false 1 2、类文件热部署 spring-boot-devtools 1 1、添加依赖 <dependency> <groupId>org.springframework.boot</groupId... 热部署 1、页面热部署 application.properties文件中配置 spring.thymeleaf.cache=false 1 2、类文件热部署 spring-boot-devtools 1 1、添加依赖 <dependency> <groupId>org.springframework.boot</groupId...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签