自定义博客皮肤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一百年

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2020-05-09 08:40:47 2029 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2020-04-14 08:58:33 1345 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 9108 5

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

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

2020-04-01 08:53:49 1557 3

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

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

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

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

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

2020-03-30 16:19:19 1160 1

原创 松哥手把手带你入门 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 1597 0

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

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

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

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

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

2020-03-19 10:06:48 74831 93

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

原创 Spring Boot 要怎么学?要学哪些东西?要不要先学 SSM?松哥说说看法

可能很多刚接触 Spring Boot 的小伙伴都会有这样的疑问,Spring Boot 要怎么学,要不要先学 SSM?今天结合自己的经验,和大家说一说我的看法,也顺便推荐几个 Spring Boot 学习资料。 1.Spring Boot 是什么 我们刚开始学习 JavaWeb 的时候,使用 S...

2020-02-24 11:29:07 6451 8

原创 新年新气象,接个私活赚点生活费?说说这里的弯弯绕

现在到处讲副业,怎么样利用副业赚钱,这能理解,一方面年轻人生存压力大,多赚钱点总是没有坏处;另一方面,每年的裁员信息看的人心惊胆颤,大家都想为自己留一条后路。 新年伊始,想必很多小伙伴可能都想大展拳脚,新的一年好好干一番,很多人就想到了接私活,但是接私活到底赚不赚钱,这里有哪些坑,松哥和大家扯扯。...

2020-02-21 10:45:33 14595 11

原创 简化 Spring Boot 项目部署,Flyway 搞起来

虽然我之前录了一个微人事(https://github.com/lenve/vhr)部署视频(新版微人事部署教程来啦),但是由于这次升级涉及到了 Redis 和 RabbitMQ,所以在本地跑微人事还是一件比较麻烦的事情,有的小伙伴甚至部署失败,所以我也一直在尝试简化部署步骤,这两天给项目加了 F...

2020-02-20 10:50:07 2659 0

原创 Spring Boot2 系列教程(三十二)Spring Boot 整合 Shiro

在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是,仅仅从技术角度来说,也可以使用 Shiro。 今天松哥就来和大家聊聊 Spring Boot 整合 Shiro 的话题! 一般来说,Spring Security 和 Shiro 的比较如下:...

2020-02-17 12:30:23 4054 1

原创 懒人必备,IntelliJ IDEA中代码一键生成

之前有不少小伙伴问松哥微人事项目(https://github.com/lenve/vhr)使用的 MyBatis 逆向工程在哪里?其实旧版微人事当时没有使用逆向工程,是我自己手动敲出来的,当然手动敲的工作量非常大。 今年发出来的新版微人事,我使用了逆向工程自动生成实体类和 dao 层的代码。My...

2020-02-14 11:10:30 13806 23

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