原创 走進高併發(三)深入理解Java內存模型

多線程程序要比單線程程序複雜的多,單線程程序中,線程從內存中讀取一個變量,如果這個變量的值本身就是1,那麼線程讀取到的值必然是1。但是在多線程程序中,如果多線程對變量的讀寫沒有進行合理的控制,那麼後續線程讀取到的變量的值很可能

原创 Spring Cloud微服務技術棧(四):服務治理Spring Cloud Eureka部分源碼分析

上一篇文章《Spring Cloud微服務技術棧(三):服務治理Spring Cloud Eureka核心元素分析》主要對Spring Cloud Eureka的三個核心元素(服務註冊中心、服務提供者、服務消費者)進行了分析,熟

原创 Spring Security技術棧學習筆記(十五)解決Spring Social集成QQ登錄後的註冊問題

上一篇文章主要完成了Spring Social集成QQ登錄主要邏輯,但是最後還是遺留了一個問題,那就是授權登錄後跳轉到了/signup上,其實這是Spring Social註冊邏輯,所以我們就一起用這節內容來共同探討解決這個問題

原创 Spring Security技術棧學習筆記(一)環境搭建

Spring Security是一個能夠爲基於Spring的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架。它提供了一組可以在Spring應用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反轉Inve

原创 Spring Security技術棧學習筆記(十一)開發短信驗證碼登錄

短信登錄也是一種常見的登錄方式,但是短信登錄的方式並沒有集成到Spring Security中,所以往往還需要我們自己開發短信登錄邏輯,將其集成到Spring Security中,使用Spring Security來進行校驗。本

原创 Spring Security技術棧學習筆記(十四)使用Spring Social集成QQ登錄驗證方式

上一篇文章《Spring Security技術棧開發企業級認證與授權(十三)Spring Social集成第三方登錄驗證開發流程介紹》主要是介紹了OAuth2協議的基本內容以及Spring Social集成第三方登錄驗證的基本流

原创 Spring Security技術棧學習筆記(四)RESTful API服務異常處理

當我們從瀏覽器訪問不存在的Spring Boot的RESTful API的時候,往往會返回Spring Boot內置的404錯誤界面,但是作爲前後端分離的應用,相同的API也許會在其他終端訪問,比如手機APP等,那麼也會是相同的

原创 Spring Security技術棧學習筆記(七)使用Swagger自動生成API文檔

由於Spring Boot能夠快速開發、便捷部署等特性,相信有很大一部分Spring Boot的用戶會用來構建RESTful API。而我們構建RESTful API的目的通常都是由於多終端的原因,這些終端會共用很多底層業務邏輯

原创 Spring Security技術棧學習筆記(十二)將短信驗證碼驗證方式集成到Spring Security

短信登錄作爲一種常見的登錄認證方式,在Spring Security中是沒有的,本篇博客將繼續在之前文章的基礎上,建立一套短信登錄驗證機制,並將其集成到Spring Security中。 一、短信登錄驗證機制原理分析 在Spr

原创 Spring Security技術棧學習筆記(九)開發圖形驗證碼接口

在設計登錄模塊的時候,圖形驗證碼基本上都是標配,本篇博客重點介紹開發可重用的圖形驗證碼接口,該接口支持用戶自定義配置,比如驗證碼的長度、驗證碼圖形的寬度和高度等信息。 本文的目標是開發一個圖形驗證碼接口,該驗證碼支持用戶自定義

原创 Spring Security技術棧學習筆記(三)表單校驗以及自定義校驗註解開發

Hibernate不僅僅爲操作數據庫提供瞭解決方案,還爲數據校驗提供瞭解決方案——Hibernate Validator。本篇博客將介紹常用的Validator註解的使用以及在Validator不滿足實際需求的情況下如何使用自定

原创 Spring Security技術棧學習筆記(十)開發記住我功能

“記住我”幾乎在登陸的時候都會被用戶勾選,因爲它方便地幫助用戶減少了輸入用戶名和密碼的次數,本文將從三個方面介紹“記住我”功能,首先介紹“記住我”功能基本原理,然後對“記住我”功能進行實現,最後簡單解析Spring Securi

原创 Spring Security技術棧學習筆記(十六)使用Spring Social集成微信登錄驗證方式

類似於QQ登錄,微信登錄也是許多網站採用的一種登錄方式之一,本文將從代碼中講解微信的OAuth協議與標準的OAuth協議區別,將微信登錄集成到Spring Social中。

原创 Spring Security技術棧學習筆記(八)Spring Security的基本運行原理與個性化登錄實現

正如你可能知道的兩個應用程序的兩個主要區域是“認證”和“授權”(或者訪問控制)。這兩個主要區域是Spring Security的兩個目標。“認證”,是建立一個他聲明的主題的過程(一個“主體”一般是指用戶,設備或一些可以在你的應用