關於登入的收穫

2022-07-07 00:54:17 字數 1054 閱讀 6244

登入:

​ 1.早期

以往單個伺服器去部署整個專案的話,使用的是單一伺服器模式,這種模式是將登入的資訊儲存在session中,下次登入的時候在session中找有沒有這個資訊,若有則登入。方法時session.set("user",user),session.get("user")

​ 2.現在使用sso模式去實現登入,(single sign on)單點登入

現在基本每個專案都不止乙個伺服器,基本都是使用微服務分布式架構,專案中的每個功能都獨立成乙個模組,每個模組獨立執行互不影響,並且每個模組至少使用乙個伺服器,而此時如果使用早期的單一伺服器模式的話在登入方面就會變得效率低下,使用者體驗不足,當你要訪問專案的模組時,總不能訪問乙個模組然後登入一次,所以出現了sso模式,也就是單點登入模式。

單點登入的三種常見方式:

​ 第一種:session廣播機制實現,使用session複製的方式使得每個模組的session中都有登入的資訊。適合於少數的幾個模組,若是多個模組資源消耗過大,且大量複製也會造成大量重複資料。

​ 第二種:使用cookie+redis實現,cookie是客戶端機制,他是存在瀏覽器中的,傳送請求都會攜帶著cookie,而redis的一大特點就是讀寫速度快且基於key-value

實現儲存。兩步實現該操作:

​     第一步:在專案中的任何乙個模組進行登入,登入之後,會把資料放到兩個地方

​ (1)redis:在key中生成乙個隨機值(ip+uuid等),在value中存放使用者資訊。

​ (2)cookie:把redis中的key值放在cookie中。

​     第二步:訪問專案中的其他模組,此時就會傳送請求,而每次請求中都會攜帶著cookie,此時就會去cookie中取值,再獲取到值後到redis中進行查詢,如果有資料則可以登入。

​ 第三種:使用token實現,token就是根據規則生成的一組字串,該字串中包含著使用者資訊。兩步實現該操作:

​     第一步:在專案的某個模組進行登入,登入之後,按照規則生成字串,把登陸之後使用者的資訊包含到字串中,把字串返回,有兩種返回模式,一種是把字串通過cookie返回,一種是把字串通過位址列返回。

關於收穫與否

二月 天,回顧一下這個月做的事情 完成機房收費系統 第二遍羅塞塔 畢設建築部分的牆 和小夥伴糾音標 搬家 跟著小組學習自考 學習畢設建築的其他內容,了解水電 回頭看看,雖然沒有月計畫那樣完美,但是也是滿滿的收穫。做事情要經常看到自己收穫到了什麼,而不是只看到了自己沒收穫什麼!在這個月結束之前我還傻傻...

關於挑戰盃答辯的收穫

2015 3 17下午2點30分,系裡進行挑戰盃答辯。答辯過程中,看到了一些作品的優點,但是主要的收穫是評委老師那犀利的問題,他們很愛生活,能夠從實際中出發,考慮一些實際的問題。現總結如下 1 一款好的作品一定要經過充分的調研,調查一下,是否有同類的產品,它們的優缺點在 是否有市場需求,為什麼別人沒...

關於Applet的乙個小收穫

最近為了打發空餘的時間,開始用 寫小遊戲。今天碰到了乙個讓我很迷惑的問題 寫好的程式在 eclipse 這樣的ide 工具裡執行一切正常。但當在頁面上執行時,會在要出現時不動,顯示 不出來。我讀去的方法如下 後來,在網上搜尋資料才發現 在網頁上有些許限制,而其中最大的限制就是 不能訪問本地硬碟。於是...