keycloak
Tool
身份驗證和授權是系統安全性非常重要的環節。身份驗證用於識別使用者是誰,而授權則賦予使用者某些特定權限。更具體來說,這整個過程可以分為四個部分:
身分識別 (Identification):這是一個讓系統知道你是誰的過程。例如,當你使用用戶名或電子郵件地址登入系統時,就是進行身分識別。
身分驗證 (Authentication):這個過程讓系統確認你確實是你聲稱的那個人。通常是通過輸入密碼、使用FaceID或OTP來完成的。
授權 (Authorization):這涉及到角色分配。根據你的角色,系統會賦予你不同的權限。例如,一個“編輯者”角色可能有編輯內容的權限,而一個“閱讀者”角色則只能閱讀。
存取控制 (Access Control):這涉及到具體的操作權限。比如,在一個IT管理系統中,一個普通使用者可能可以重啟伺服器和查看系統日誌,但不能部署新的程式碼。然而,一個開發者則可能有這樣的權限。
在你登入系統,輸入帳號密碼為身分識別與身分驗證,系統驗證完後,會根據身分授予角色。至於此角色權限則可以在後台系統上設置。至於這部分的詳細實做概念牽扯還是蠻多的…會再找時間針對這部分做一個細部講解。
了解這些基礎概念後,我們可以考慮如何手動實現這四個部分。
身分識別 (Identification) : 最常見的實現方式是透過一個使用者註冊頁面,讓使用者輸入基本資料,例如用戶名和密碼。這些信息會被存儲在後端的資料庫中(密碼會被加密)。
身分驗證 (Authentication) : 驗證的方法有多種。
授權 (Authorization) : 這部分簡易實作基本上會有三部份
存取控制 (Access Control)
其他考慮
通過使用Keycloak,我們能夠更為高效地實現身分識別、身分驗證、授權,以及存取控制等功能。
身分識別 (Identification)
身分驗證 (Authentication
授權 (Authorization)
存取控制 (Access Control)
一般來說,要全面實施這四大功能通常需要大量的時間和資源。開發者不只需要寫大量的程式碼,還必須維護系統的安全性、效能,並確保與其他系統的良好整合。有了Keycloak,這一切都變得相對簡單。