自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

江南一点雨的专栏

专注Java一百年

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2020-05-18 08:57:35 755 0

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

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

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

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

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

2020-05-12 09:06:03 773 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 863 0

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

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

2020-05-09 08:40:47 2698 3

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

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

2020-05-08 08:38:14 972 1

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

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

2020-05-07 08:49:28 1313 1

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

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

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

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

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

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

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

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

2020-04-29 09:16:54 1338 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 1501 1

原创 Spring Boot+OAuth2,一个注解搞定单点登录!

需要先说一下,松哥最近写的教程,都是成系列的,有一些重复的东西写来写去就没意思了,所以每一篇文章都默认大家已经懂了前面的内容了,因此下文有任何看不懂的地方,建议一定先看下相关系列: Spring Security 系列: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 S...

2020-04-23 09:26:07 3072 5

原创 Spring Security+Spring Data Jpa 强强联手,安全管理只有更简单!

Spring Security+Spring Data Jpa 强强联手,安全管理没有简单,只有更简单! 这周忙着更新 OAuth2,Spring Security 也抽空来一篇。 Spring Security 系列我们前面已经更新了 6 篇了,本文是第 7 篇,建议先看本系列前面的文章,有助于...

2020-04-16 09:13:11 1429 0

原创 死磕 OAuth2,教练我要学全套的!

昨天松哥和小伙伴们说了 OAuth2 中的授权码模式,我从头到尾写了一个非常详细的案例,来和小伙伴们分享授权码模式的使用。 有小伙伴表示为什么没有另外三种授权模式的演示代码?要学就学全套的!这不,松哥赶紧把另外三个授权模式的代码整出来,供小伙伴们参考。 今天的案例,我就不从头开始写了,我们就在上篇...

2020-04-15 09:22:11 1613 0

原创 推荐七个略火的 SpringBoot+Vue 项目

前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SSH 框架用的滚瓜烂熟,出来却发现自己依然没有任何优势! 其实前后端分离本身并不难,后段提供接...

2020-04-15 07:49:04 1884 1

原创 这个案例写出来,还怕跟面试官扯不明白 OAuth2 登录流程?

昨天和小伙伴们介绍了 OAuth2 的基本概念,在讲解 Spring Cloud Security OAuth2 之前,我还是先来通过实际代码来和小伙伴们把 OAuth2 中的各个授权模式走一遍,今天我们来看最常用也最复杂的授权码模式。 本文我将通过一个完整的 Demo ,注意,是一个完整的 De...

2020-04-14 08:58:33 1666 1

原创 都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑...

2020-04-02 09:09:17 14317 15

原创 奇怪,Spring Security 登录成功后总是获取不到登录用户信息?

有好几位小伙伴小伙伴曾向松哥求助过这个问题。 一开始我觉得这可能是一个小概率 BUG,但是当问的人多了,我觉得这个问题对于新手来说还有一定的普遍性,有必要来写篇文章跟大家仔细聊一聊这个问题,防止小伙伴们掉坑。 1.问题复现 如果使用了 Spring Security,当我们登录成功后,可以通过如下...

2020-04-01 08:53:49 1914 4

原创 前后端分离中,使用 JSON 格式登录原来这么简单!
原力计划

做微人事的小伙伴(https://github.com/lenve/vhr),应该都发现了在微人事中有一个极为特殊的请求,那就是登录。 登录请求是一个 POST 请求,但是数据传输格式是 key/value 的形式。整个项目里就只有这一个 POST 请求是这样,其他 POST 请求都是 JSON ...

2020-03-31 10:00:43 2125 3

原创 松哥手把手教你定制 Spring Security 中的表单登录
原力计划

Spring Security 系列继续。 前面的视频+文章,松哥和大家简单聊了 Spring Security 的基本用法,并且我们一起自定义了一个登录页面,让登录看起来更炫一些! 今天我们来继续深入这个表单配置,挖掘一下这里边常见的其他配置。学习本文,强烈建议大家看一下前置知识(松哥手把手带你...

2020-03-30 16:19:19 1436 2

原创 松哥手把手带你入门 Spring Security,别再问密码怎么解密了

文章目录1.新建项目2.用户配置2.1 配置文件2.2 配置类2.2.1 为什么要加密2.2.2 加密方案2.2.3 PasswordEncoder2.2.4 配置3.自定义表单登录页3.1 服务端定义3.2 前端定义4.小节 因为之前有小伙伴在松哥群里讨论如何给微人事的密码解密,我看到聊天记录后...

2020-03-25 08:18:56 1901 0

原创 程序员写书到底赚钱吗
原力计划

时隔半年,昨天又收到了出版社一笔稿费,时间很突然,金额也很突然。 年前的时候松哥发了一篇文章,说新书交稿后入手了一台 MacBook Pro(MacBook Pro 入手一年了,到底香不香?),于是有小伙伴问松哥,出书是不是赚翻了? 老实说,这本书到现在赚的钱,买一台 MacBook Pro 肯定...

2020-03-24 09:22:37 2036 0

原创 离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类...

2020-03-19 10:06:48 96375 109

原创 Spring Boot+Vue前后端分离,如何避免前端页面 404

问题倒不难,但是这个问题之前被松哥忽略了。前两天有小伙伴提出这个疑问,我觉得有必要写篇文章和大家捋一捋这个问题。 先来看一个简短的视频: 视频地址 一个简单的配置就解决掉 404 问题了,接下来,我再来把这件事的来龙去脉和大家仔细捋一捋。 1.职责划分 在传统的前后端不分的开发中,权限管理主要通过...

2020-03-17 13:54:27 2024 2

原创 Spring Boot2 系列教程(三十四)Spring Security 添加验证码

登录添加验证码是一个非常常见的需求,网上也有非常成熟的解决方案,其实,要是自己自定义登录实现这个并不难,但是如果需要在 Spring Security 框架中实现这个功能,还得稍费一点功夫,本文就和小伙伴来分享下在 Spring Security 框架中如何添加验证码。 关于 Spring Sec...

2020-03-09 09:26:45 1947 0

原创 Spring Boot 国际化踩坑指南
原力计划

国际化,也叫 i18n,为啥叫这个名字呢?因为国际化英文是 internationalization ,在 i 和 n 之间有 18 个字母,所以叫 i18n。我们的应用如果做了国际化就可以在不同的语言环境下,方便的进行切换,最常见的就是中文和英文之间的切换,国际化这个功能也是相当的常见。 在 S...

2020-03-05 09:05:51 5059 0

原创 写博客必备!手把手教大家搭建免费图床,真香!

前段时间松哥发了一篇文章,鼓励大家写博客多做积累(如果你没写过博客,现在就是你写博客的最佳时机),有小伙伴告诉松哥他已经开始实践了,感觉到自己的苦口婆心总算有了一点点作用还是蛮欣慰的。 今天想和大家分享一个写博客过程中经常遇到的技术性问题,就是博客图片存到哪里。因为松哥自己最近搞了一个免费的图床,...

2020-03-04 10:28:08 2312 1

原创 手把手教你用 FastDFS 构建分布式文件管理系统

说起分布式文件管理系统,大家可能很容易想到 HDFS、GFS 等系统,前者是 Hadoop 的一部分,后者则是 Google 提供的分布式文件管理系统。除了这些之外,国内淘宝和腾讯也有自己的分布式文件管理系统,都叫 TFS(Taobao File System 和 Tencent File Sys...

2020-03-01 11:55:59 2705 1

原创 Spring Boot2 系列教程(三十三)整合 Spring Security
原力计划

Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理这个领域,一直是 Shiro 的天下。【点击免费获取274页原创SpringBoot2教程】 相对...

2020-02-28 10:26:09 2737 2

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