自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Spring Security 可以同时对接多个用户表?

文章目录1.原理1.1 Authentication1.2 AuthenticationManager1.3 ProviderManager1.4 AuthenticationProvider2.案例3.小结 这个问题也是来自小伙伴的提问: 其实这个问题有好几位小伙伴问过我,但是这个需求比较冷门...

2020-07-14 08:35:01 9 0

原创 Spring Security 竟然可以同时存在多个过滤器链?

这是来自一个小伙伴的提问,我觉得很有必要和大家聊一聊这个问题: 首先这个问题本身是有点问题的,因为 http.authorizeRequests() 并非总是第一个,虽然大部分情况下,我们看到的是第一个,但是也有很多情况 http.authorizeRequests() 不是首先出现。要搞明白这...

2020-07-10 09:11:33 210 0

原创 Spring 源码第四弹!深入理解 BeanDefinition

聚沙成塔!不知不觉 Spring 源码已经更到第五篇啦~ 看源码之前,要先会用功能,这是最基本的,因为在源码讲解中,默认大家已经熟知 Spring 基本用法了,如果还不熟悉 Spring 的基本用法,可以看一下松哥发布在 B 站上的免费入门视频:https://www.bilibili.com/v...

2020-07-07 07:17:12 273 0

原创 写了这么多年代码,这样的登录方式还是头一回见!

Spring Security 系列还没搞完,最近还在研究。 有的时候我不禁想,如果从 Spring Security 诞生的第一天开始,我们就一直在追踪它,那么今天再去看它的源码一定很简单,因为我们了解到每一行代码的缘由。 然而事实上我们大部分人都是中途接触到它的,包括松哥自己。所以在阅读源码的...

2020-07-03 08:46:09 1048 0

原创 GET 新技能!自己的网站突然就不香了

松哥自己的网站有两大类: 一个就是大家看到的 www.javaboy.org,这个网站是基于 GitHub Pages 做的,使用的技术栈是 hexo+icarus,公众号上的所有文章我都会同步到这个网站上去。 还有一类就是电子书网站,这个就比较多了: http://maven.javaboy...

2020-07-02 09:21:47 2266 0

原创 一文搞定 Spring Security 异常处理机制!

今天来和小伙伴们聊一聊 Spring Security 中的异常处理机制。 在 Spring Security 的过滤器链中,ExceptionTranslationFilter 过滤器专门用来处理异常,在 ExceptionTranslationFilter 中,我们可以看到,异常被分为了两大类...

2020-06-30 09:05:17 533 0

原创 Spring 源码第三弹!EntityResolver 是个什么鬼?

上篇文章和小伙伴们说了 Spring 源码中 XML 文件的解析流程,本来可以继续往下走看加载核心类了,但是松哥还是希望能够慢一点,既然要学就学懂,在 XML 文件解析的过程中还涉及到一些其他的类和概念,因此我就先用几篇文章介绍一下这些涉及到的概念或者类,然后我们再继续往下看。 本文要和大家介绍的...

2020-06-29 09:35:03 423 0

原创 Spring Security 配置中的 and 到底该怎么理解?

我们先来看一个简单的配置: @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .anyRequest().authent...

2020-06-24 08:13:39 1261 3

原创 神奇!自己 new 出来的对象一样也可以被 Spring 容器管理!

按理说自己 new 出来的对象和容器是没有关系的,但是在 Spring Security 框架中也 new 了很多对象出来,一样也可以被容器管理,那么它是怎么做到的? 今天来和大家聊一个略微冷门的话题,Spring Security 中的 ObjectPostProcessor 到底是干嘛用的? ...

2020-06-23 12:04:48 572 0

原创 Spring 源码第二弹!XML 文件解析流程

Spring 源码继续开整! 上篇文章中,松哥和大家分享了 Spring 中配置文件的加载方式,如果小伙伴们还没看过,一定先看一下,这有助于更好的理解本文,传送门:Spring 源码第一篇开整!配置文件是怎么加载的?。 上篇文章和大家分享了 Spring 中是如何加载本地配置文件的,如何将加载到的...

2020-06-22 09:38:22 399 0

原创 花式玩 Spring Boot!过滤器竟有 N 种注册方式!松哥手把手教你

要说在 Spring Boot 中注册过滤器有三种方式,你都能想到哪些呢?今天松哥就来和大家聊一聊 Spring Boot 中注册过滤器的三种方式! 其实本来是想和大家聊 Spring Security 过滤器链的问题的,结果看源码看着看着就跑题了,索性就先和大家聊一聊 Spring Boot 中...

2020-06-19 08:43:53 1268 0

原创 Spring Security 多种加密方案共存,老破旧系统整合利器!

关于密码加密的问题,松哥之前已经和大家聊过了,参考: Spring Boot 中密码加密的两种姿势! 这篇文章中,松哥给大家介绍了两种密码加密方案,但是两种都是独立使用的!能不能在同一个项目中同时存在多种密码加密方案呢?答案是肯定的! 今天松哥就来和大家聊一聊,如何在 Spring Secur...

2020-06-18 10:09:31 1684 0

原创 Spring Security 中的四种权限控制方式

Spring Security 中对于权限控制默认已经提供了很多了,但是,一个优秀的框架必须具备良好的扩展性,恰好,Spring Security 的扩展性就非常棒,我们既可以使用 Spring Security 提供的方式做授权,也可以自定义授权逻辑。一句话,你想怎么玩都可以! 今天松哥来和大家...

2020-06-17 09:21:49 1645 0

原创 Spring Boot 中如何实现 HTTP 认证?

HttpBasic 认证有一定的局限性与安全隐患,因此在实际项目中使用并不多,但是,有的时候为了测试方便,开启 HttpBasic 认证能方便很多。 因此松哥今天还是来和大家简单聊一聊 Spring Security 中的 HttpBasic 认证。 本文是 Spring Security 系列第...

2020-06-16 10:08:17 1293 0

原创 Spring 源码第一篇开整!配置文件是怎么加载的?

上周把话撂出来,看起来小伙伴们都挺期待的,其实松哥也迫不及待想要开启一个全新的系列。 但是目前的 Spring Security 系列还在连载中,还没写完。连载这事,一鼓作气,再而衰三而竭,一定要一次搞定,Spring Security 如果这次放下来,以后就很难再拾起来了。 所以目前的更新还是 ...

2020-06-15 09:32:42 622 0

原创 Spring Boot 中三种跨域场景总结

文章目录1.什么是跨域2.解决方案2.1 存在的问题3.SpringSecurity3.1 方式一3.2 方式二4.OAuth25.小结 跨域这个问题松哥之前写过文章,但是最近收到小伙伴们的一些问题,让我发现之前的总结不够全面,因此打算再写一篇文章,来和大家分享一下 Spring Boot 中的跨...

2020-06-11 08:30:50 866 0

原创 用 Swagger 测试接口,怎么在请求头中携带 Token?

来自一个小伙伴在微信上的提问: 看到这个问题,松哥忽然想到我自己之前写过 Spring Boot+Swagger 的用法: SpringBoot 整合 Swagger2 也写过 OAuth2 + Jwt 的用法: 想让 OAuth2 和 JWT 在一起愉快玩耍?请看松哥的表演 但是还没有...

2020-06-09 08:37:57 2412 0

原创 Spring Boot+CAS 默认登录页面太丑了,怎么办?

最近的又一头扎进 Spring Security+CAS 上面了,CAS 单点登录已经连续写了四篇了,小伙伴们一定按顺序阅读哦,这样后面的文章才好理解。 上篇文章和大家分享了 CAS Server 接入数据库的问题,今天我们来看下如何在 CAS Server 上自定义登录页面,因为正常来说,我们是...

2020-06-08 09:34:03 1608 0

原创 Spring Boot+CAS 单点登录,如何对接数据库?

在前面的两篇文章中,松哥和大家分享了 CAS Server 的搭建以及如何使用 Spring Security 搭建 CAS Client。 但是前面的案例有一个问题,就是登录用户是在 CAS Server 配置文件中写死的,没有对接数据库,实际项目中,这里肯定要对接数据库,所以今天,松哥就来和大...

2020-06-05 09:10:18 735 0

原创 Spring Boot 实现单点登录的第三种方案!

前面松哥发过两篇文章,也是两种方案,讲到单点登录问题: OAuth2+JWT 方案 @EnableOAuth2Sso 注解方案 今天再来和大家介绍第三种方案,使用 Spring Security 开发 CAS 单点登录系统客户端。 上篇文章讲了 CAS 单点登录以及 CAS Server 的搭...

2020-06-04 21:31:00 1206 0

原创 微服务项目中如何管理依赖版本号?

本文是微服务项目代码组织形式三部曲中的第三篇,也是最后一篇,通过这三篇文章,相信大家对于如果组织微服务中的代码已经有了一个基本认知,前面两篇分别是: 微服务项目搭建,到底要不要聚合工程? 在微服务项目中,Maven 真的适合管理公共代码库吗? 第三篇相对来说要简单一些,本来没打算写,但是上周有...

2020-06-02 11:21:06 912 0

原创 松哥手把手教你入门 Spring Boot + CAS 单点登录

松哥周末抽空给 Spring Security 系列也录制了一套视频,目录如下: 感兴趣的小伙伴戳这里–>Spring Boot+Vue+微人事视频教程 我们来看今天的 CAS 单点登录。 在微服务以及分布式系统中,单点登录变得越来越普遍,松哥之前也有两篇文章和大家介绍过单点登录的方案: ...

2020-06-01 09:12:29 1649 0

原创 Spring Security 两种资源放行策略,千万别用错了!

事情的起因是这样,有小伙伴在微信上问了松哥一个问题: 就是他使用 Spring Security 做用户登录,等成功后,结果无法获取到登录用户信息,松哥之前写过相关的文章(奇怪,Spring Security 登录成功后总是获取不到登录用户信息?),但是他似乎没有看懂。考虑到这是一个非常常见的问...

2020-05-28 08:12:12 1941 0

原创 在微服务项目中,Maven 真的适合管理公共代码库吗?

今天我还是想和大家继续聊一聊微服务中代码的组织形式。 昨天聊了微服务项目中要不要使用聚合工程的问题(微服务项目搭建,到底要不要聚合工程?),感觉小伙伴们对这个话题还挺感兴趣,因此今天我们就再来说说微服务中公共代码库的组织形式。 1.公共代码库 任何项目,我们都不可避免的会有一个公共代码库,这个公共...

2020-05-26 09:41:58 994 0

原创 微服务项目搭建,到底要不要聚合工程?

这是一个入门问题,做微服务项目,首先就是要搭建 Project,代码采用什么样的形式来组织,这是我们面临的第一个问题。 要扯清楚这个问题,首先对 Maven 的使用不能含糊,小伙伴们可以在公众号后台回复 ssm,获取松哥手敲的 Maven 教程。 在传统的项目中,我们经常需要搭建聚合工程,这样...

2020-05-25 10:52:15 1161 0

原创 Spring Boot 中密码加密的两种姿势!

先说一句:密码是无法解密的。大家也不要再问松哥微人事项目中的密码怎么解密了! 密码无法解密,还是为了确保系统安全。今天松哥就来和大家聊一聊,密码要如何处理,才能在最大程度上确保我们的系统安全。 本文是 Spring Security 系列的第 20 篇,阅读本系列前面的文章有助于更好的理解本文: ...

2020-05-21 08:09:59 2570 0

原创 整理了八个开源的 Spring Boot 学习资源

Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 《Spring Boot + Vue 全栈开发实战》迄今为止已经加印了多次,Spring Boot 的受欢迎程度可见一斑。今天松哥整理了几个优质 Spring Boot 开源项目给大家参考,希望能够帮助到正在学习 Sp...

2020-05-20 08:25:16 1659 0

原创 要学就学透彻!Spring Security 中 CSRF 防御源码解析

上篇文章松哥和大家聊了什么是 CSRF 攻击,以及 CSRF 攻击要如何防御。主要和大家聊了 Spring Security 中处理该问题的几种办法。 今天松哥来和大家简单的看一下 Spring Security 中,CSRF 防御源码。 本文是本系列第 19 篇,阅读本系列前面文章有助于更好的理...

2020-05-20 08:19:59 1740 0

原创 松哥手把手教你在 SpringBoot 中防御 CSRF 攻击!so easy!

CSRF 就是跨域请求伪造,英文全称是 Cross Site Request Forgery。 这是一种非常常见的 Web 攻击方式,其实是很好防御的,但是由于经常被很多开发者忽略,进而导致很多网站实际上都存在 CSRF 攻击的安全隐患。 今天松哥就来和大家聊一聊什么是 CSRF 攻击以及 CSR...

2020-05-19 08:12:08 1397 0

原创 集群化部署,Spring Security 要如何处理 session 共享?

前面和大家聊了 Spring Security 如何像 QQ 一样,自动踢掉已登录用户(Spring Boot + Vue 前后端分离项目,如何踢掉已登录用户?),但是前面我们是基于单体应用的,如果我们的项目是集群化部署,这个问题该如何解决呢? 今天我们就来看看集群化部署,Spring Secur...

2020-05-18 08:57:35 1245 1

原创 什么是会话固定攻击?Spring Boot 中要如何防御会话固定攻击?

前两天和大家聊了 Spring Security 中的 session 并发问题,和小伙伴们聊了如何像 QQ 一样,用户在一台设备上登录成功之后,就会自动踢掉另一台设备上的登录。 当然,Spring Security 中,关于 session 的功能不仅仅是这些,之前和大家说我们学习 Spring...

2020-05-14 09:08:52 1041 0

原创 Spring Security 自带防火墙!你都不知道自己的系统有多安全!

之前有小伙伴表示,看 Spring Security 这么麻烦,不如自己写一个 Filter 拦截请求,简单实用。 自己写当然也可以实现,但是大部分情况下,大家都不是专业的 Web 安全工程师,所以考虑问题也不过就是认证和授权,这两个问题处理好了,似乎系统就很安全了。 其实不是这样的! 各种各样的...

2020-05-12 09:06:03 1246 0

原创 Spring Boot+Vue 文件上传,如何携带令牌信息?

文章目录1.传统方案1.1 准备工作1.2 Ajax 上传1.3 使用 el-upload 组件1.4 两种方式比较2.手动传递令牌2.1 Ajax 传递令牌2.2 el-upload 处理令牌2.2.1 方案一2.2.2 方案二3.小结 关于文件上传这块,松哥之前也写了好几篇文章了,甚至还有视频...

2020-05-11 10:17:36 1368 0

原创 推荐三个 Vue 后台管理模版,配合 Spring Boot 使用真香!

最近因为因为项目的原因,一直在寻找一款合适的前端模版,之前的 Vue 前端页面都是自己写的,写多了就烦了,因为功能都差不多,写来写去就没意思了。 所以在新项目中想看看市面上的 Vue 后台管理模版,找个现成的,改一改基本就 OK 了,团队也省事一些。 老实说,Vue 的生态还是相当丰富的,经典的、...

2020-05-09 08:40:47 10531 7

原创 Spring Boot + Vue 前后端分离项目,如何踢掉已登录用户?

上篇文章中,我们讲了在 Spring Security 中如何踢掉前一个登录用户,或者禁止用户二次登录,通过一个简单的案例,实现了我们想要的效果。 但是有一个不太完美的地方,就是我们的用户是配置在内存中的用户,我们没有将用户放到数据库中去。正常情况下,松哥在 Spring Security 系列中...

2020-05-08 08:38:14 1466 2

原创 Spring Security 自动踢掉前一个登录用户,一个配置搞定!

登录成功后,自动踢掉前一个登录用户,松哥第一次见到这个功能,就是在扣扣里边见到的,当时觉得挺好玩的。 自己做开发后,也遇到过一模一样的需求,正好最近的 Spring Security 系列正在连载,就结合 Spring Security 来和大家聊一聊这个功能如何实现。 本文是本系列的第十三篇,阅...

2020-05-07 08:49:28 2143 2

原创 Spring Security 中如何快速查看登录用户 IP 地址等信息?

上篇文章跟大家聊了如何使用更加优雅的方式自定义 Spring Security 登录逻辑,更加优雅的方式可以有效避免掉自定义过滤器带来的低效,建议大家一定阅读一下,也可以顺便理解 Spring Security 中的认证逻辑。 本文将在上文的基础上,继续和大家探讨如何存储登录用户详细信息的问题。 ...

2020-05-06 15:44:53 1271 0

原创 Java 打怪升级路线图,大佬是这样炼成的!一定要收藏

技术日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的。 网上的资料多如牛毛,但是很多时候我们缺的不是一个资料,而是一个学习规划! 就是说,做 Java 开发,我们应该从哪里开始学?应该学习哪些东西?应该按照什么样的顺序来学? 松哥大二刚开始自学 Java 那会,...

2020-05-01 10:22:20 2258 1

原创 Spring Boot + Spring Security 实现自动登录功能

自动登录是我们在软件开发时一个非常常见的功能,例如我们登录 QQ 邮箱: 很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密码是一件很麻烦的事。 自动登录功能就是,用户在登录成功后,在某一段时间内,如果用户关闭了浏览器并重新打开,或者服务器重启了,都不需要用户重新登录了,用户依...

2020-04-29 09:16:54 1834 2

原创 Spring Boot+OAuth2,如何自定义返回的 Token 信息?

在本系列前面的文章中,正常情况下,OAuth2 返回的 access_token 信息一共包含五项: 分别是: access_token token_type refresh_token expires_in scope 具体如下: { "access_token"...

2020-04-28 08:12:12 2564 1

提示
确定要删除当前文章?
取消 删除