問題:
採用將session儲存到一台伺服器的做法,在大型**構建中,是不合理的,因為session資料不同的伺服器之間不能共享,會導致使用者在訪問**時,會有很多次的校驗,如果該伺服器中沒有使用者資訊,則會出現使用者重複登入的問題;
session不能共享!!
解決:
1.使用者輸入使用者名稱和密碼
2.當前臺接收到使用者的登入請求後,將資料傳入單點登入系統,之後進行校驗
3.根據使用者名稱和密碼進行資料校驗,如果使用者名稱和密碼都不正確,告知使用者使用者名稱或密碼不正確(201)
4.如果使用者名稱和密碼是正確的,將使用者資訊加密(md5hash)轉化為json資料,存到redis伺服器中
5.將加密後的金鑰(token)返回給使用者,將使用者的token資料經過前台中轉儲存到瀏覽器的cookie中
6.登入後需要實現單點登入的效果(使用者只需要登入一次u可以訪問所有相互信任的應用系統)
單點登入原理
單點登入sso single sign on 說得簡單點就是在乙個多系統共存的環境下,使用者在一處登入後,就不用在其他系統中登入,也就是使用者的一次登入能得到其他所有系統的信任。單點登入在大型 裡使用得非常頻繁,例如像阿里巴巴這樣的 在 的背後是成百上千的子系統,使用者一次操作或交易可能涉及到幾十個...
單點登入原理
1 為什麼要有單點登入。以往登入乙個系統使用session登入,但是隨著系統的完善和優化,模組與模組之間可能存放在不同的伺服器,中間使用 伺服器來分發例如 nginx。但是多伺服器是如何共享使用者資訊的呢?答案就是單點登入。2 解決方式。這裡的單點登陸在nginx集群的時候最常用 解決方式 1 se...
單點登入原理
單點登入sso single sign on 說得簡單點就是在乙個多系統共存的環境下,使用者在一處登入後,就不用在其他系統中登入,也就是使用者的一次登入能得到其他所有系統的信任。單點登入在大型 裡使用得非常頻繁,例如,阿里旗下有 天貓 支付寶等 還有背後的成百上千的子系統,使用者一次操作或交易可能涉...