sso實現的兩種方式 簡述

2021-09-19 13:55:29 字數 722 閱讀 6227

單點登入的相關概念就不累述了,通俗的講就是一次登入,到處有效,免去你在不同的服務間跳轉時的繁瑣驗證。比如某寶**是很多個系統相互呼叫形成的,如果沒做單點登入的話,你每跳轉乙個服務,都需要驗證身份,想想就可怕…

實現單點登入的第一種做法是分布式session共享,這應該是很常見的一種方式。畢竟後端程式設計師沒有不知道session的吧。

後端確認登入人資訊時,將登入人資訊儲存到session中,seesion存在於伺服器端,不同的後端會有不同的session,所以實現session共享的關鍵是將seesion放到共享的區域內,於是用到了redis,redis的資料儲存形勢是key-value型別的,key的話就由後台自定義方法生成,value就是儲存著登入人資訊的session。

然後將key放到cookie中乙份,這樣瀏覽器就有了可以拿到使用者登入資訊的「鑰匙」了。在不同模組之間跳轉的時候,只要有這把鑰匙,就能從redis裡面拿到使用者資訊,實現免登登入了。

json web token 設計的初衷就是要脫離「session」,關於他的幾本概念,推薦看一下阮一峰先生的部落格

使用者登入後將json格式的登入資訊返回給瀏覽器,這些資訊經過簽名加密後的資訊叫做token,儲存在 cookie 中,但是這樣不能跨域,所以一般是是放在 http 請求的頭資訊authorization欄位裡面。然後後端redis裡面也儲存乙份登入資訊。每一次token到達後端後,經過解密工具的解密再和redis中資訊進行比對,從而實現免登陸。

兩種方式實現checkBox readonly功能

今天在做開發的時候遇到了這樣乙個問題 有乙個checkbox選項是不能被改變的。但是checkbox又是沒有readonly屬性的,這個時候我就想到了另外乙個屬性disabled,但是disabled的物件是不能提交到後台的,所以這個又被排除掉了。想了想,只能新增事件來搞定了。於是在checkbox...

TabHost兩種實現方式

第一種 繼承tabactivity,從tabactivity中用gettabhost 方法獲取tabhost。只要定義具體tab內容布局就行了.package com.example.testtabhost import android.os.bundle import android.view.l...

兩種方式實現checkBox readonly功能

今天在做開發的時候遇到了這樣乙個問題 有乙個checkbox選項是不能被改變的。但是checkbox又是沒有readonly屬性的,這個時候我就想到了另外乙個屬性disabled,但是disabled的物件是不能提交到後台的,所以這個又被排除掉了。想了想,只能新增事件來搞定了。於是在checkbox...