<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 概述 單點登錄的英文全稱是 Single Sign On,簡稱SSO。 即用戶只需要登錄一次,就可以在個人權限范圍內,訪問所有相互信任的應用功能模塊,不管整個應用群的內部有多么復雜,對用戶而言,都是一個統一的整體。 用戶訪問web系統的整個應用群與訪問單個系統一樣,登錄和注銷分別只要一次就夠了 ### 設計原理 ![00EAA192-3A23-4F13-80E5-1447EF25E243.png](http://yanxuan.nosdn.127.net/6a08007675455722bb435d17dd041db2.png) * 用戶系統 * * 負責用戶名、密碼等賬戶信息管理,包括增加、修改、啟用、停用用戶賬號,同時為認證中心提供對用戶名和密碼的校驗。 * 認證中心 * * 負責憑證 Token的生成、加密、頒發、驗證、銷毀、登入( Login)和登出( Logout)。用戶只有在擁有憑證并驗證通過的情況下才能訪問企業門戶。 * 權限系統 * * 負責角色管理、資源設置、授權設置、鑒定權限,具體實現可參考RBAC。權限系統可為企業門戶提供用戶權限范圍內的導航。 * 企業門戶 * * 作為應用系統的集成門戶( Portal),集成了多個應用系統的功能,為用戶提供鏈接導航、用戶信息和登岀功能等。 ### SSO服務端功能 * 登錄認證 * * 接收登錄賬號信息,讓用戶系統驗證用戶的登錄信息。 * 憑證生成 * * 創建授權憑證 Token。生成的憑證一般包含用戶賬號、過期時間等信息,憑證是一串加密的字符串,如AES加密(憑證明文+MD5加密信息),可采用JWT標準。 * 憑證頒發 * * 與SSO客戶端通信,發送憑證給SSO客戶端。 * 憑證驗證 * * 接收并校驗來自SSO客戶端的憑證有效性,憑證驗證包括算法驗證和數據驗證兩種。 * 憑證銷毀與登出 * * 接收來自SSO客戶端的登岀請求,記錄并銷毀憑證,跳轉至登錄頁面。 ### SSO客戶端功能 * 請求攔截 * * 攔截應用的未登錄請求,跳轉至登錄頁面。 * 獲取憑證 * * 接收并存儲由SSO服務端發來的憑證,憑證傳輸的方式有HTTPHeader、 Cookie和網址參數等。 * 提交憑證驗證 * * 與SSO服務端通信,發出校驗憑證有效性的請求 * 獲取用戶權限 * * 獲取該憑證的用戶權限,并返回受保護資源給用戶 * 憑證銷毀與登出 * * 銷毀本地會話,然后跳轉至登出頁面。 ### 用戶單點登錄流程 ![8AB69889-1F82-43EE-B4CA-839661CBB211.png](http://yanxuan.nosdn.127.net/a83a3eb2e6b79259278415abd1707fa7.png) ### JWT Json Web Token(JwT)是目前應用最為廣泛的 Token格式,是為了在網絡應用環境間傳遞聲明而執行的一種基于JSON的開放標準(RFC7519)。 該 Token被設計為緊湊且安全的,特別適用于分布式站點的單點登錄、API網關等場景。 JWT的聲明一般被用來在身份提供者和服務提供者之間傳遞被認證的用戶身份信息,以便從資源服務器獲取資源,也可以增加一些額外的其他業務邏輯所必需的聲明信息。 該 Token可直接被用于認證,也可被加密。JWT信息體由3部分構成:頭( Header)+載荷( Payload)+簽名 1. JWT支持多種語言,C#、Java、 JavaScript、PHP等很多語言都可以使用。 2. JWT可以自身存儲一些和業務邏輯有關的必要的非敏感信息,因為有了 Payload部分。 3. 利于傳輸,因為JWT的構成非常簡單,字節占用很小。 4. 不需要在服務端保存會話信息,不僅省去服務端資源開銷,而且易于應用的擴展
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看