7 _江南一点雨

尚未进行身份认证

我要认证

Java攻城狮

等级
TA的排名 119

Spring 源码第六弹!容器的始祖 DefaultListableBeanFactory

Spring 源码继续开整!在 XML 文件解析流程一文中,松哥和大家分享了 Spring 中配置文件的加载方式,如果小伙伴们还没看过,一定先看一下,这有助于更好的理解本文,传送门:Spring 源码第一篇开整!配置文件是怎么加载的?。还记得该篇文章中的代码吗?XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("beans.xml"));User user = factory.getBean(User.class);

2020-07-15 08:40:57

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

文章目录1.原理1.1 Authentication1.2 AuthenticationManager1.3 ProviderManager1.4 AuthenticationProvider2.案例3.小结这个问题也是来自小伙伴的提问:其实这个问题有好几位小伙伴问过我,但是这个需求比较冷门,我一直没写文章。其实只要看懂了松哥前面的文章,这个需求是可以做出来的。因为一个核心点就是 ProviderManager,搞懂了这个,其他的就很容易了。今天松哥花一点时间,来和大家分析一下这个问题的核心,同时

2020-07-14 08:35:01

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

这是来自一个小伙伴的提问,我觉得很有必要和大家聊一聊这个问题:首先这个问题本身是有点问题的,因为 http.authorizeRequests() 并非总是第一个,虽然大部分情况下,我们看到的是第一个,但是也有很多情况 http.authorizeRequests() 不是首先出现。要搞明白这个问题,我们就要搞清楚 http.authorizeRequests() 到底是啥意思!这就涉及到 Spring Security 中过滤器链的配置问题了,本文松哥就来和大家稍微聊一聊。本文是 Spring S

2020-07-10 09:11:33

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

聚沙成塔!不知不觉 Spring 源码已经更到第五篇啦~看源码之前,要先会用功能,这是最基本的,因为在源码讲解中,默认大家已经熟知 Spring 基本用法了,如果还不熟悉 Spring 的基本用法,可以看一下松哥发布在 B 站上的免费入门视频:https://www.bilibili.com/video/BV1Wv41167TU。上篇文章和小伙伴们介绍了 Spring 源码中的 EntityResolver,这个是用来解决 XML 文件校验问题的。接下来本来应该接着第二弹的 XML 文件解析流程继续往

2020-07-07 07:17:12

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

Spring Security 系列还没搞完,最近还在研究。有的时候我不禁想,如果从 Spring Security 诞生的第一天开始,我们就一直在追踪它,那么今天再去看它的源码一定很简单,因为我们了解到每一行代码的缘由。然而事实上我们大部分人都是中途接触到它的,包括松哥自己。所以在阅读源码的时候,有时候会遇到一些不是那么容易理解的东西,并不是说这个有多难,只是我们不了解 N 年前的开发环境,因此也就不容易理解某一行代码出现的意义。所以为了搞透彻这个框架,有时候我们还得去了解之前发生了什么。这就跟学

2020-07-03 08:46:09

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

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

2020-07-02 09:21:47

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

今天来和小伙伴们聊一聊 Spring Security 中的异常处理机制。在 Spring Security 的过滤器链中,ExceptionTranslationFilter 过滤器专门用来处理异常,在 ExceptionTranslationFilter 中,我们可以看到,异常被分为了两大类:认证异常和授权异常,两种异常分别由不同的回调函数来处理,今天松哥就来和大家分享一下这里的条条框框。1.异常分类Spring Security 中的异常可以分为两大类,一种是认证异常,一种是授权异常。认证异常

2020-06-30 09:05:17

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

上篇文章和小伙伴们说了 Spring 源码中 XML 文件的解析流程,本来可以继续往下走看加载核心类了,但是松哥还是希望能够慢一点,既然要学就学懂,在 XML 文件解析的过程中还涉及到一些其他的类和概念,因此我就先用几篇文章介绍一下这些涉及到的概念或者类,然后我们再继续往下看。本文要和大家介绍的是上篇文章中涉及到的 EntityResolver 类,看看这个类到底是干嘛用的。本文是 Spring 源码系列第四篇,阅读前面文章有助于更好理解本文:Spring 源码解读计划Spring 源码第一篇开整

2020-06-29 09:35:03

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

我们先来看一个简单的配置:@Overrideprotected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .anyRequest().authenticated() .and() .formLogin() .loginProcessingUrl("/doLogin")

2020-06-24 08:13:39

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

按理说自己 new 出来的对象和容器是没有关系的,但是在 Spring Security 框架中也 new 了很多对象出来,一样也可以被容器管理,那么它是怎么做到的?今天来和大家聊一个略微冷门的话题,Spring Security 中的 ObjectPostProcessor 到底是干嘛用的?本文是 Spring Security 系列第 32 篇,阅读前面文章有助于更好的理解本文:挖一个大坑,Spring Security 开搞!松哥手把手带你入门 Spring Security,别再问密码怎么

2020-06-23 12:04:48

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

Spring 源码继续开整!上篇文章中,松哥和大家分享了 Spring 中配置文件的加载方式,如果小伙伴们还没看过,一定先看一下,这有助于更好的理解本文,传送门:Spring 源码第一篇开整!配置文件是怎么加载的?。上篇文章和大家分享了 Spring 中是如何加载本地配置文件的,如何将加载到的本地配置文件通过一个 InputStream 返回。了解到这一点之后,接下来就是对 InputStream 的解析了。本文我们就来看一下整个解析流程是什么样子的。1.XmlBeanDefinitionReade

2020-06-22 09:38:22

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

要说在 Spring Boot 中注册过滤器有三种方式,你都能想到哪些呢?今天松哥就来和大家聊一聊 Spring Boot 中注册过滤器的三种方式!其实本来是想和大家聊 Spring Security 过滤器链的问题的,结果看源码看着看着就跑题了,索性就先和大家聊一聊 Spring Boot 中注册过滤器的三种方式,算是给 后面的 Spring Security 打一点基础。1.@WebFilter通过 @WebFilter 注解来标记一个过滤器,这种方式相信大家很容易想到。这是将 Servlet 中

2020-06-19 08:43:53

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

关于密码加密的问题,松哥之前已经和大家聊过了,参考:Spring Boot 中密码加密的两种姿势!这篇文章中,松哥给大家介绍了两种密码加密方案,但是两种都是独立使用的!能不能在同一个项目中同时存在多种密码加密方案呢?答案是肯定的!今天松哥就来和大家聊一聊,如何在 Spring Security 中,让多种不同的密码加密方案并存。本文是 Spring Security 系列第 31 篇,阅读前面文章有助于更好的理解本文:挖一个大坑,Spring Security 开搞!松哥手把手带你入门 S

2020-06-18 10:09:31

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

Spring Security 中对于权限控制默认已经提供了很多了,但是,一个优秀的框架必须具备良好的扩展性,恰好,Spring Security 的扩展性就非常棒,我们既可以使用 Spring Security 提供的方式做授权,也可以自定义授权逻辑。一句话,你想怎么玩都可以!今天松哥来和大家介绍一下 Spring Security 中四种常见的权限控制方式。表达式控制 URL 路径权限表达式控制方法权限使用过滤注解动态权限四种方式,我们分别来看。本文是 Spring Security

2020-06-17 09:21:49

Spring Boot 中如何实现 HTTP 认证?

HttpBasic 认证有一定的局限性与安全隐患,因此在实际项目中使用并不多,但是,有的时候为了测试方便,开启 HttpBasic 认证能方便很多。因此松哥今天还是来和大家简单聊一聊 Spring Security 中的 HttpBasic 认证。本文是 Spring Security 系列第 29 篇,阅读前面文章有助于更好理解本文:挖一个大坑,Spring Security 开搞!松哥手把手带你入门 Spring Security,别再问密码怎么解密了手把手教你定制 Spring Secur

2020-06-16 10:08:17

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

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

2020-06-15 09:32:42

Spring Boot 中三种跨域场景总结

文章目录1.什么是跨域2.解决方案2.1 存在的问题3.SpringSecurity3.1 方式一3.2 方式二4.OAuth25.小结跨域这个问题松哥之前写过文章,但是最近收到小伙伴们的一些问题,让我发现之前的总结不够全面,因此打算再写一篇文章,来和大家分享一下 Spring Boot 中的跨域问题。这次我把 Spring Boot 中的跨域问题分为了三个场景:普通跨域Spring Security 跨域OAuth2 跨域分为三种并非多此一举,主要是因为这三种场景的配置都不太一样,而这三种

2020-06-11 08:30:50

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

来自一个小伙伴在微信上的提问:看到这个问题,松哥忽然想到我自己之前写过 Spring Boot+Swagger 的用法:SpringBoot 整合 Swagger2也写过 OAuth2 + Jwt 的用法:想让 OAuth2 和 JWT 在一起愉快玩耍?请看松哥的表演但是还没有将这两个结合在一起写过,所以小伙伴们对此有了疑问,想一想这还是一个非常常见的问题,因为现在使用令牌登录的场景越来越多,在这种情况下,如果使用 Swagger 来测试接口,要怎么在请求头中携带 Token 呢?今天松

2020-06-09 08:37:57

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

最近的又一头扎进 Spring Security+CAS 上面了,CAS 单点登录已经连续写了四篇了,小伙伴们一定按顺序阅读哦,这样后面的文章才好理解。上篇文章和大家分享了 CAS Server 接入数据库的问题,今天我们来看下如何在 CAS Server 上自定义登录页面,因为正常来说,我们是不会直接用官方给出的登录页面的。本文是 Spring Security 系列第 26 篇,阅读前面文章有助于更好的理解本文:挖一个大坑,Spring Security 开搞!松哥手把手带你入门 Spring

2020-06-08 09:34:03

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

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

2020-06-05 09:10:18

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。