1. 程式人生 > >springSecurity的練習筆記--認證伺服器,資源伺服器,以及單點登陸

springSecurity的練習筆記--認證伺服器,資源伺服器,以及單點登陸

   花了一天半左右,將springSecurity後面的練習看完並且進行練習實踐與測試!   按照慣例進行筆記的整理。 

認證伺服器的構建:

   核心依賴:

   注意,是oauth2而不是oauth。  因為這兩個包maven都提供了它的依賴。 同時,需要依賴spring-security的環境。 在springboot環境下,可以採用spirng-boot-starter-security完成簡單的上下文配置。 

   

  通過繼承該類,以及通過註解,就可以完成預設的認證伺服器的構建。 它是實現了標準的四種授權模式!

  它的核心業務邏輯仍然是通過基於web的過濾器實現的。過濾器的幾個重要的配置如:過濾器的定義,過濾器的註冊,憑證提供者,憑證等,都由官方實現。在不需要我們自定義什麼的情況下,可以在不動任何程式碼的情況下實現這些功能!(但是要做一些必要的屬性配置)。

  憑證伺服器預設的過濾器的攔截器路徑

     

資源伺服器的構建:

     資源伺服器其實就是上篇的第三方服務商類似的。 

     任然是由官方包提供支援。

  它與上一個練習的第三方平臺的區別在於,此處可以以令牌的方式儲存自己的驗證碼,然後提供給第三方驗證。

  它的業務邏輯也是基於過濾器。。。  起點是過濾鏈條,終點是自身的憑證。  

認證伺服器與資源伺服器的自我認識:

      認證伺服器僅提供認證服務。它的認證物件是針對第三方客戶端。  認證依據是自身所配置的憑證。認證的方式包括:授權碼模式authorization_code,簡化模式,password; client_credentials;implict。 認證的結果是:提供令牌。

      資源伺服器既可以完成提供資源的服務。 又可以完成認證的邏輯!完成認證的邏輯與前面的練習很像。  只不過這裡是將相應的驗證碼放在了外部儲存中,而不是放在session中。 並且認證結果是提供給客戶一個憑證令牌。 客戶憑藉憑證與資源伺服器通訊!

單點登陸的實現:

   單點登陸,採用了jwt,json web token的方式。 

   關鍵一:授權伺服器的令牌憑證:

  關鍵二:客戶端的配置:

 

   最後:

        確實很想把所有的練習過程與細節都記錄一下。  但是發現這是一個很龐大的工程!  要花費的時間不禁讓我望而卻步。 反正上一篇已經記得差不多了,況且它們都是有關係的,以後忘了那就只好去再看看老師的視訊了。