一個網關與多UI應用

參考:https://github.com/spring-guides/tut-spring-security-and-angular-js/tree/master/double
先看目標架構圖:架構圖
1.包含一個網關Gateway,兩個UI應用(分別爲UI和Admin),一個資源Resource應用,一個Redis(瀏覽器忽略)
2.無論是網關本身,還是兩個UI應用,還是資源應用,都要通過網關去訪問,而不能直接訪問UI應用或資源應用
3.網關,UI應用,資源應用都共享Redis.
4.認證放在了網關.所以網關要配置AuthenticationManagerBuilder(不然用戶來自那裏),session創建策略至少應設爲可創建(ALWAYS或IF_REQUIRED),其它幾個都可設爲不創建(NEVER).至於登出功能主要是銷燬redis session,即放在那個位置都應無所謂.
5.更細粒度的權限控制,比如全局方法控制,則應在對應的應用自身配置.

原文的圖應有錯,Admin和UI是不能直接訪問Resource的.否則又會造成跨域問題.
我的理解,假設在double\ui\src\main\resources\static\js\hello.js的$http.get('/resource/')這裏使用相對路徑"/resource/",UI,Resource都是通過網關訪問的,那麼協議,端口,主機都相同,即有相同的源,不存在跨域;但改爲$http.get('http://localhost:9000/'),這時候端口不一樣,就是跨域了.

發佈了157 篇原創文章 · 獲贊 32 · 訪問量 140萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章