說明這 30 天系列會帶讀者從 最簡單的帳密登入,一路學到 OAuth / OIDC / SAML / RBAC / ABAC。同時介紹為什麼選 Spring Security 作為教學框架,並設定最終目標:做出一個具備完整認證 + 授權的範例專案。
前言 學習程式語言的過程中,我一直對於資訊安全有著極大的興趣,不論是關於帳密保存,或是Client端與Server端如何互動等等,我都想花時間仔細研究。畢竟如果...
前言 昨天我們談到「站哨」與「口令」的比喻,今天要更進一步,來解釋大家最容易搞混的兩個詞: Authentication(認證)、Authorization(授...
前言 在 Day 2 我們提到:一個系統要先確認「你是誰」(Authentication),再決定「你能做什麼」(Authorization)。在了解這個觀念後...
前言 昨天我們已經介紹過 Basic Authentication 的概念:每次請求都把帳號密碼透過 Base64 編碼放進 Authorization Hea...
前言 昨天我們實作了 Basic Authentication,體驗到「每次請求都要帶帳號密碼」的麻煩。 因此,Web 系統後來發展出 Session 機制:...
前言 昨天我們談到 Cookie 與 Session 的原理: 使用者登入成功後,伺服器會產生一個 Session ID。 瀏覽器會把這個 Session I...
前言 昨天我們實作了 Cookie + Session Authentication,體驗到「伺服器會記住使用者狀態」,用從設定,到測試,會發現程式不用寫太多,...
Session 的優點與限制 今天我們的任務是要來更了解一點Session。所以,讓我門先回顧一下 Session 機制。 在傳統的 Web 系統中,Sessi...
內文 在 Day 8,我們模擬了「完全沒有 Session」的極端情境,但這個情境又回到過去的老路: 使用者每次都要傳帳密,效能差、不安全。 即便改成隨機字串...
內文 在前幾篇文章中,我們已經理解了 JWT 的結構(Header、Payload、Signature),以及它如何被應用在 Web 的身份驗證機制上。 今天我...