操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    單點登錄原理及實現sso【面試+工作】

    WEB的登錄那些事

    說道賬戶登錄和注冊,其實我們每天都在親身感受著,像微博、知乎還有簡書等等。我們總是需要定期的去重新登錄一下,對于這種認證機制,我們都能說出來兩個名詞,、。的確沒錯,和是實現這一切的核心。

    為什么會有和?區別是什么?

    引入這兩個概念的根本原因是因為Http協議是無狀態的,也就是說它不能建立起多次請求之間的關系。所以需要引入一個能有瀏覽器或服務器保存的一個上下文狀態,也就是和。說到底的實現是依賴于的,因為是真正的由瀏覽器保存的狀態,是利用了。在我看來其實兩者有差異,但是根本的依賴是一樣的。也是有生命周期的,像級別或者有一定“壽命”的。一切是由瀏覽器去維護的。

    常見的跨域登錄問題

    之前樓主主要是做賬戶和這方面的工作,其實在跨域這也是碰見了一些問題。

    對于同一個根域下的登錄問題

    如果我們的站點有不止一個業務,那么他們可能部署在不同的機器上,也往往需要不同的域名進行區分。但是所有的業務又都是依賴于一套賬戶體系,那么我們這時候需要通過一次登錄解決所有站點的登錄問題,那么我們這個時候可以使用一個最笨的方法:那就是一次登錄成功,將寫到根域下,那么這樣所有的站點就能實現,同一個根域下的共享,自然實現了”單點登錄“。

    對于多個根域下的登錄問題

    如果是多個根域名,那么這種情況下上面的機制就不能實現“單點登錄”了。因為之所以上面可以實現“單點登錄”的效果。是因為瀏覽器和Http協議的支持。但是對于跨根域的站點之間進行的共享是比較復雜的。

    方法1:登錄成功之后將回寫到多個域名下。

    六點定位原理4點5點_默認市值單偏離點差是什么意思_單點登錄原理

    這種辦法可能十分簡單,你可以通過后端的寫,也可以用前端js去寫,但是必須有對所有需要“單點登錄”的站點進行逐一的寫入。用腳想這種辦法也是行不通的,因為你需要維護一個站點的列表,維護工作十分復雜,同時對于增加站點也會特別痛苦。對于的銷毀也是十分復雜的,因為還是要對所有域名下的進行刪除。也就是說將原來需要做的工作增加了n倍。對于小型站點這種辦法是可取的。

    方法2:jsonp

    搞過前端的可能都知道用jsonp可以做跨域的請求,而我們解決的就是多個域下的統一登錄的問題,好像很順理成章的樣子。但是,登錄是端做的吧?我們在端做跨域的處理,這怎么看也不是很合理。同時這種辦法需要很大的維護成本,每一次請求都要去固定的域下取相應的之后再做請求。想想維護有頭疼。

    方法3 :引入一個中間態的

    這種辦法算是一個簡化版的SSO,實現思想也十分的“狡猾”。但是對于小網站做跨域登錄的處理卻十分的有用,具體思路如下:

    首先,我們有兩個域名要實現單點登錄,同時我們需要一個中間的。

    我們有一個系統域名為,當我們登錄的時候訪問/wp-login進行登錄,登錄成功之后將回寫到這個域名下。

    我們還有一個系統域名為,當我們訪問-的時候,我們沒有,那么請求跳轉到中間系統jump。此時需要將當前域名帶到參數中便于jump校驗。這個jump系統是在域下的即:。這時候就能拿到之前寫在域下的。

    jump系統在收到了域下的之后,取出域下的,并請求,這個接口也是在jump系統中,請求后jump系統將回寫到-域名下單點登錄原理,這樣就實現了簡易的單點登錄。如下圖所示:

    .png

    但是這種方式不是很靈活,對于數據傳輸的安全性沒有保障,并且在銷毀的時候無能為力,只能全部遍歷的銷毀。

    默認市值單偏離點差是什么意思_單點登錄原理_六點定位原理4點5點

    方法4:基于CAS的SSO系統

    CAS可不是java中的-And-Swap,它是一個開源的單點登錄系統(SSO)。實現的機制不算復雜但是思想十分靈巧。用CAS也可以快速實現單點登錄。盜圖一張說明sso單個域的登錄和驗證流程:

    .png

    CAS主要分為CAS 和CAS ,其中主要是內嵌在需要SSO登錄站點的攔截器或過濾器上。

    首先瀏覽器向站點1發起請求。

    站點1發現當前請求沒有合法的,那么重定向到CAS 上,也就是SSO 。

    CAS 展示登錄界面,要求用戶登錄。

    用戶登錄后,會寫CAS 的到瀏覽器,同時生產,利用一個302跳轉到。這樣能保證用戶無感知。

    CAS 利用生成的發送到CAS 進行驗證,驗證通過后,站點1生成自己的并回寫到用戶瀏覽器,然后進行登錄成功的跳轉。

    這樣就能保證當前瀏覽器在站點1的域名下,有站點1的,同時當前瀏覽器也有CAS 的。

    接下來看下站點2的登錄:

    六點定位原理4點5點_單點登錄原理_默認市值單偏離點差是什么意思

    .png

    站點2,在進行登錄時和站點1初次登錄流程一致,但是在訪問CAS 的時候,由于當前瀏覽器已經有了CAS 的,那么直接校驗通過返回。

    通過302跳轉跳轉到CAS 上,之后的流程就和站點1是一樣的了。如果此時認證失敗,那么需要重新走一次登錄的過程。

    其實感覺很麻煩單點登錄原理,但是流程卻十分的簡單,主要是使用CAS 的做校驗,同時各自系統維護自己的。

    注意的問題:

    CAS 的劫持問題,如果CAS 的被劫持掉,那么就相當于拿到了一切,所以必須要用HTTPS實現這個過程。

    的使用,只能被使用一次,一次校驗后立即失效。同時需要有時效性,一般5分鐘。最后生成規則要隨機,不能被碰撞出來。

    對于各自系統自己的,也可以依賴于SSO,這樣就能保證所有的規則一致,便于集中控制。

    其實SSO的實現很靈活,CAS只是說了一個原理,至于具體怎么實現,需要平衡安全性、易用性等諸多因素,所以也沒有一個固定的實現方案。

    SSO之CAS單點登錄實例演示

    一、概述

    單點登錄原理_默認市值單偏離點差是什么意思_六點定位原理4點5點

    此文的目的就是為了幫助初步接觸SSO和CAS 的人員提供一個入門指南,一步一步演示如何實現基于CAS的單點登錄。

    CAS的官網:

    二、演示環境

    本文演示過程在同一個機器上的(也可以在三臺實體機器或者三個的虛擬機上),環境如下:

    根據演示需求,用修改hosts 文件的方法添加域名最簡單方便(這個非常重要),在文件 C:\\\\etc\hosts 文件中添加三條

    三、JDK安裝配置

    這個詳細過程就不在描述,如果是免安裝版的,確保環境變量配置正確。

    本機環境變量:=D:\jdk,如果看到以下信息則表示安裝成功:

    四、安全證書配置

    有關工具的詳細運用見:

    單點登錄原理_默認市值單偏離點差是什么意思_六點定位原理4點5點

    4.1. 生成證書:

    1

    --alias - RSA-- --:\sso\.-

    4.2.導出證書:

    1

    --alias -:\sso\.-fileg:\sso\

    4.3.客戶端導入證書:

    1

    --%%\jre\lib\\-fileg:\sso\.crt-alias

    ps:該命令中輸入的密碼和上面輸入的不是同一個密碼;如果是多臺機器演示,需要在每一臺客戶端導入該證書。

    五、部署CAS-相關的

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有