(工作總結)公司項目是如何實現登錄的

 

公司的項目 如何用實現登錄的?CA登錄 帳號密碼登錄 (非單點登錄情況,自己實現的登錄認證)

總體思路:

登錄頁面加載CA基本信息(帳號密碼方式,輸入帳號密碼)---->根據登錄信息,生成authentication請求token.------>根據基本信息,loaduserByname(),拿到數據庫中的用戶userdetails---->CA驗籤(或密碼比對)。

 

1.點擊登錄時,通過ca 的 js,獲取ca的一些基本信息。

 

 

 

2.我們的登錄用的是spring-security。 上一步提交登錄後,會被認證管理器AbstractAuthenticationProcessingFilter攔截。

 

 

封裝參數,組成一個自定義的認證token(authentication),去認證。

 

公司的項目 如何用實現登錄的?CA登錄 帳號密碼登錄 (非單點登錄情況,自己實現的登錄認證)

總體思路:

登錄頁面加載CA基本信息(帳號密碼方式,輸入帳號密碼)---->根據輸入信息,生成authentication請求token.------>根據基本信息,loaduserByname(),拿到數據庫中的用戶userdetails---->CA驗籤(或密碼比對)。

 

1.點擊登錄時,通過ca 的 js,獲取ca的一些基本信息。

 

 

 

2.我們的登錄用的是spring-security。 上一步提交登錄後,會被認證管理器AbstractAuthenticationProcessingFilter攔截。

封裝參數,組成一個自定義的認證token(authentication),去認證。

3.根據 攜帶的CA基本信息。找到數據源裏面的用戶。(userDetails userdatailservice loaduserByname() 等。)

4.驗證CA簽名。

 

 

 

 

 

注:如果爲帳號和密碼登錄。 在上面第4步,不是ca驗籤,而是authentication裏面的密碼和從數據庫中取出來的(userdetails)進行密碼匹配。

 

 

 

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

注:整理這篇登錄主要是因爲上一篇看了CA的一些東西。但是想了半天,感覺上一篇中模擬的場景,更像是https的通信:

服務器端會有自己的ca證書(公鑰,私鑰),客戶端來訪問時給客戶端出示證書;客戶端拿到公鑰,發送隨機串(相當於對稱加密的約定)給服務器;服務器私鑰解密字符串,再根據字符串(對稱加密)加密數據 給客戶端;ssl建立。

而我們的U-KEY登錄,大概是這樣的。證書是每個用戶申請的一個物理器件,裏面有自己的密鑰對(公鑰,私鑰)。登錄的時候相當於用戶用ca的私鑰簽名,我們服務端公鑰驗籤(或者通過ca中心的接口驗籤??這塊還是不很清楚)。

不過這種總的思路 公鑰密碼體系是一致的,都是公鑰加密,私鑰解密;私鑰簽名,公鑰驗籤。 誰申請了CA證書,他就有了密鑰對,特別要把自己的密鑰保存好。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章