不同網域名稱 多網域名稱 下共享登入狀態

2021-09-25 20:27:25 字數 652 閱讀 4374

在我的乙個個人專案中(花瓣平台),我希望接下來和他人協作搭建乙個大一些的平台,其模式類似於qq之於qq**這樣,我們各自負責自己的專案的開發與維護,但是需要共享使用者資訊,其中最重要的是共享登入狀態,即:實現在一處登入後,訪問另乙個站點就可以不用在登入了。

經過查詢資料得知,傳統的做法是可以在cookie裡面的domain屬性設定需要跨域的網域名稱,這樣就可以在多個站點實現共享cookie,也就是可以通過這種方式共享登入狀態。這種方式比較簡單快捷,但是有乙個缺陷就是,共享cookie的站點需要是同乙個頂級網域名稱,例如xx1.example.com/xx2.example.com。

那麼如何在不同頂級網域名稱下實現共享登入狀態了?思考了很久之後,突然靈光一現。由於我的專案中採用的是jwt認證使用者的,那麼,在我的網域名稱下登入後,跳轉到另乙個需要共享登入狀態的網域名稱時,可以將token一起攜帶過去,這樣,目標站點獲取到攜帶的token後儲存下來,這樣就算是實現共享登入狀態了。但是這樣也有乙個缺陷,那就是假如在xx1站點下登入了,有token,如果不通過xx1站點的鏈結跳轉到xx2站點,而是直接訪問xx2站點,這樣就無法把token攜帶過去了。

後來,經過繼續查詢資料,了解到其實現在已經有了一種解決方案,叫「單點登入」(single sign on),簡稱為 sso,是目前比較流行的企業業務整合的解決方案之一。文件位址

同網域名稱下多WEB應用的單點登入

已經配了2個應用,都花了不少時間,除第一次是上手的過程可以理解,第二次的問題主要是記性太差,才半年的時間就有很多要點都漏掉了,因此開博記錄下自己的思路,以免事不過三。web.config設定 name abc domain com.cn 配置要點,確保.abc作為cookie出現在domain中,可...

django多網域名稱下Memcache的實現

乙個分站的平台,有多個地區網域名稱 bj,wh.而在不同網域名稱相同請求路徑下cache的是同一頁面。如我給首頁加上memcache,則 和快取的是同乙個頁面。查詢一些資料後,做如下解決 只要給你想快取的頁面加上vary請求頭部,那麼django快取頁面時還會考慮到vary請求頭部。實現的方法 在要...

django多網域名稱下Memcache的實現

最近由於 url 訪問量的提公升,以及爬蟲的頻繁來襲,有時會導致apache伺服器負擔過重。因此準備採用memcache,cache不是經常變化的網頁,提高 效能。django中memcache的實現相當簡單,網上有很多資料,只要簡單幾步就能cache你的頁面。但我這裡卻存在一問題,由於ecgoo是...