PTT推薦

[心得] 寫點 code 來學習 Spring Security

看板Soft_Job標題[心得] 寫點 code 來學習 Spring Security作者
qrtt1
(有些事,有時候。。。)
時間推噓 7 推:7 噓:0 →:0

喵哈囉!

最近工作的需要,「又」複習了一下 OAuth2 相關的內容。

因為複習了它,順手也查了一下目前 Spring Security

在整合上有沒有比較好懂的文章。

在網上能查詢到許多的範例,但似乎少了一點脈落。

多數的範例是直接給你能套的程式,讓你回去改一改,大概能動唄!?

但對於理解整組 Spring Security 怎麼動起來的幫助不大。


或是另一種極端的現象,把 Spring Security 架構文件內提的重要類別

個別拿出來都講一輪,講完還是不道怎麼生出其他範例裡的東西。

這中間存在著 gap !!!


為了補上這個 gap,試著動手寫點小例子把玩一下,

程式接通了,概念也就通了。把這樣的過程整理成 3 篇心得。

( 會在 10/16 有個 2 組 talk 會分享
由概念,講到實例的用法

基於版規,
不好直接說活動內容,請上社團報名
https://www.facebook.com/groups/twjug )


===============================================================

文章連結與摘要如下:

把玩 Spring Security [1] 先讓一部分動起來
https://qrtt1.medium.com/hands-on-spring-security-1-77228057a8b9

摘要:

起手式的部分很 easy 的!我們就由一個空的 spring boot 專案先開局。

透過一組簡單的 Restful API 來設計它的認證管理。

用上了初見的 WebSecurityConfigurerAdapter 來設定哪些路徑需要認證

哪些路徑是四面八方歡迎光臨的。


在這篇,我們沒有摸到 Sring Security 的核心,

但玩了他的表皮部分 (filter chain)

其他影響我們理解的複雜部分都先略過,直接 hardcode

讓 Spring Security 覺得它拿到可以用的認證資料 (Authentication)



把玩 Spring Security [2] 探索 Access Control 功能
https://qrtt1.medium.com/hands-on-spring-security-2-f89cb06edd04

摘要:

在上一篇,我們唬弄了 Spring Security,騙他說我們有認證囉!

接著,不要找死去玩什麼 AuthenticationProvider,那個範例很多

你知我知獨眼龍也知!但沒有一個初學者能理解它。

我們先喘口氣,玩一下明明應該要最常用,但還沒撐到那邊就陣亡的

Access Control 功能 :D




把玩 Spring Security [3] 拼上最後一哩路 AuthenticationProvider
https://qrtt1.medium.com/hands-on-spring-security-3-a57b32d933d1

摘要:

在第一篇,透過 Authentication Filter 讓我們參與了 Spring Security

驗證的流程。在第二篇,透過修改認證資料來試玩權限控管。

他們都相對簡單,也能建立對 Spring Security 學習的信心!


第三篇,可以來面對 Provider 的部分了!

其實一切都很簡單,世上的認證方式百百種,你只是在向一個 Plugin Manager

註冊新的 Plugin 而已!


這篇的重點就是把自製的 AuthenticationProvider (plugin)

向 AutenticationManager (plugin manager) 註冊它!


==============================================================

差不多簡介完了這 3 篇的內容了,

有空看完幫忙拍個手,喜歡 Tawian Java User Group 請由 FB 加入

今年依然有 JCConf 年會,就是醬


------------------------------------------------------------

忘了說,github 有原始碼範例,可以參考每一個 commit 做了什麼

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.157.79 (臺灣)
PTT 網址
※ 編輯: qrtt1 (118.167.157.79 臺灣), 10/07/2021 22:06:49 ※ 編輯: qrtt1 (118.167.157.79 臺灣), 10/07/2021 22:13:20 ※ 編輯: qrtt1 (118.167.157.79 臺灣), 10/07/2021 22:19:05

BignoZe10/07 22:35頭推

f763guy10/07 22:58看到喵哈囉以為跑錯版

xo110010/08 00:43

marc4710/08 02:01用心推

tangblack10/08 07:48

smily13410/09 10:40

km101km10/23 16:55推推