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