一个网关与多UI应用

参考:https://github.com/spring-guides/tut-spring-security-and-angular-js/tree/master/double
先看目标架构图:一个网关与多UI应用_第1张图片
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/'),这时候端口不一样,就是跨域了.

你可能感兴趣的:(一个网关与多UI应用)