網(wǎng)關(guān)是服務(wù)架構(gòu)中一個不可或缺的部分,使用網(wǎng)關(guān)易于監(jiān)控,很多java新手在進(jìn)行java項目開發(fā)的時候,不清楚JAVA認(rèn)證在先還是網(wǎng)關(guān)在先?那針對這個問題下面來我們就來給大家講解一下。
JAVA認(rèn)證在先,網(wǎng)關(guān)是整個系統(tǒng)集群的入口,把控著這個集群的生命線,負(fù)載均衡,熔斷限流,白名單控制,日志監(jiān)控是它的基本功能。
JAVA有哪些認(rèn)證機(jī)制?
1. HTTP Basic Auth
HTTP Basic Auth簡單點說明就是每次請求API時都提供用戶的username和password,簡言之,Basic Auth是配合RESTful API 使用的最簡單的認(rèn)證方式,只需提供用戶名密碼即可,但由于有把用戶名密碼暴露給第三方客戶端的風(fēng)險,在生產(chǎn)環(huán)境下被使用的越來越少。因此,在開發(fā)對外開放的RESTful API時,盡量避免采用HTTP Basic Auth
2. OAuth
OAuth(開放授權(quán))是一個開放的授權(quán)標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問該用戶在某一web服務(wù)上存儲的私密的資源(如照片,視頻,聯(lián)系人列表),而無需將用戶名和密碼提供給第三方應(yīng)用。
OAuth允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定服務(wù)提供者的數(shù)據(jù)。每一個令牌授權(quán)一個特定的第三方系統(tǒng)(例如,視頻編輯網(wǎng)站)在特定的時段(例如,接下來的2小時內(nèi))內(nèi)訪問特定的資源(例如僅僅是某一相冊中的視頻)。這樣,OAuth讓用戶可以授權(quán)第三方網(wǎng)站訪問他們存儲在另外服務(wù)提供者的某些特定信息,而非所有內(nèi)容
3. cookie-session Auth
cookie-session 認(rèn)證機(jī)制就是為一次請求認(rèn)證在服務(wù)端創(chuàng)建一個Session對象,同時在客戶端的瀏覽器端創(chuàng)建了一個cookie對象;通過客戶端帶上來cookie對象來與服務(wù)器端的session對象匹配來實現(xiàn)狀態(tài)管理的。默認(rèn)的,當(dāng)我們關(guān)閉瀏覽器的時候,cookie會被刪除。但可以通過修改cookie 的expire time使cookie在一定時間內(nèi)有效;
但是這種基于cookie-session的認(rèn)證使應(yīng)用本身很難得到擴(kuò)展,隨著不同客戶端用戶的增加,獨立的服務(wù)器已無法承載更多的用戶,而這時候基于session認(rèn)證應(yīng)用的問題就會暴露出來。
基于session認(rèn)證所顯露的問題:
(1)Session
每個用戶經(jīng)過我們的應(yīng)用認(rèn)證之后,我們的應(yīng)用都要在服務(wù)端做一次記錄,以方便用戶下次請求的鑒別,通常而言session都是保存在內(nèi)存中,而隨著認(rèn)證用戶的增多,服務(wù)端的開銷會明顯增大。
(2)擴(kuò)展性
用戶認(rèn)證之后,服務(wù)端做認(rèn)證記錄,如果認(rèn)證的記錄被保存在內(nèi)存中的話,這意味著用戶下次請求還必須要請求在這臺服務(wù)器上,這樣才能拿到授權(quán)的資源,這樣在分布式的應(yīng)用上,相應(yīng)的限制了負(fù)載均衡器的能力。這也意味著限制了應(yīng)用的擴(kuò)展能力。
(3)CSRF
因為是基于cookie來進(jìn)行用戶識別的, cookie如果被截獲,用戶就會很容易受到跨站請求偽造的攻擊。
這些就是java認(rèn)證機(jī)制,Java認(rèn)證測試是Java編程的基本要素和功能,所以java開發(fā)人員需要了解這些認(rèn)證機(jī)制!最后大家如果想要了解更多初識java知識,敬請關(guān)注賦能網(wǎng)。
本文鏈接:
本文章“JAVA認(rèn)證在先還是網(wǎng)關(guān)在先?JAVA有哪些認(rèn)證機(jī)制?”已幫助 68 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579