原创 Spring 源碼第四彈!深入理解 BeanDefinition

聚沙成塔!不知不覺 Spring 源碼已經更到第五篇啦~ 看源碼之前,要先會用功能,這是最基本的,因爲在源碼講解中,默認大家已經熟知 Spring 基本用法了,如果還不熟悉 Spring 的基本用法,可以看一下松哥發佈在 B 站上

原创 寫了這麼多年代碼,這樣的登錄方式還是頭一回見!

Spring Security 系列還沒搞完,最近還在研究。 有的時候我不禁想,如果從 Spring Security 誕生的第一天開始,我們就一直在追蹤它,那麼今天再去看它的源碼一定很簡單,因爲我們瞭解到每一行代碼的緣由。 然而

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

松哥自己的網站有兩大類: 一個就是大家看到的 www.javaboy.org,這個網站是基於 GitHub Pages 做的,使用的技術棧是 hexo+icarus,公衆號上的所有文章我都會同步到這個網站上去。 還有一類就是電子

原创 一文搞定 Spring Security 異常處理機制!

今天來和小夥伴們聊一聊 Spring Security 中的異常處理機制。 在 Spring Security 的過濾器鏈中,ExceptionTranslationFilter 過濾器專門用來處理異常,在 ExceptionTr

原创 Spring 源碼第三彈!EntityResolver 是個什麼鬼?

上篇文章和小夥伴們說了 Spring 源碼中 XML 文件的解析流程,本來可以繼續往下走看加載核心類了,但是松哥還是希望能夠慢一點,既然要學就學懂,在 XML 文件解析的過程中還涉及到一些其他的類和概念,因此我就先用幾篇文章介紹一

原创 Spring Security 配置中的 and 到底該怎麼理解?

我們先來看一個簡單的配置: @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests()

原创 神奇!自己 new 出來的對象一樣也可以被 Spring 容器管理!

按理說自己 new 出來的對象和容器是沒有關係的,但是在 Spring Security 框架中也 new 了很多對象出來,一樣也可以被容器管理,那麼它是怎麼做到的? 今天來和大家聊一個略微冷門的話題,Spring Securit

原创 Spring 源碼第二彈!XML 文件解析流程

Spring 源碼繼續開整! 上篇文章中,松哥和大家分享了 Spring 中配置文件的加載方式,如果小夥伴們還沒看過,一定先看一下,這有助於更好的理解本文,傳送門:Spring 源碼第一篇開整!配置文件是怎麼加載的?。 上篇文章和

原创 花式玩 Spring Boot!過濾器竟有 N 種註冊方式!松哥手把手教你

要說在 Spring Boot 中註冊過濾器有三種方式,你都能想到哪些呢?今天松哥就來和大家聊一聊 Spring Boot 中註冊過濾器的三種方式! 其實本來是想和大家聊 Spring Security 過濾器鏈的問題的,結果看源

原创 Spring Security 多種加密方案共存,老破舊系統整合利器!

關於密碼加密的問題,松哥之前已經和大家聊過了,參考: Spring Boot 中密碼加密的兩種姿勢! 這篇文章中,松哥給大家介紹了兩種密碼加密方案,但是兩種都是獨立使用的!能不能在同一個項目中同時存在多種密碼加密方案呢?答案是

原创 松哥手把手帶你入門 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.小節 因

原创 Spring Security 中的四種權限控制方式

Spring Security 中對於權限控制默認已經提供了很多了,但是,一個優秀的框架必須具備良好的擴展性,恰好,Spring Security 的擴展性就非常棒,我們既可以使用 Spring Security 提供的方式做授權

原创 松哥手把手教你定製 Spring Security 中的表單登錄

Spring Security 系列繼續。 前面的視頻+文章,松哥和大家簡單聊了 Spring Security 的基本用法,並且我們一起自定義了一個登錄頁面,讓登錄看起來更炫一些! 今天我們來繼續深入這個表單配置,挖掘一下這裏邊

原创 都前後端分離了,咱就別做頁面跳轉了!統統 JSON 交互

文章目錄1. 無狀態登錄1.1 什麼是有狀態1.2 什麼是無狀態1.3 如何實現無狀態1.4 各自優缺點2. 登錄交互2.1 前後端分離的數據交互2.2 登錄成功2.3 登錄失敗3. 未認證處理方案4. 註銷登錄 這是本系列的第四

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

CSRF 就是跨域請求僞造,英文全稱是 Cross Site Request Forgery。 這是一種非常常見的 Web 攻擊方式,其實是很好防禦的,但是由於經常被很多開發者忽略,進而導致很多網站實際上都存在 CSRF 攻擊的安