跨域存取怎么做啊?

先说下我的测试,本地开两个服务,locahost:port,然后网上都是说修改domain,可是两个domain一样啊,是因为本地localhost不行么,而且localstronge存储会带端口和domain也不一样,到底怎么做啊?我现在需要不同子域共享登录信息

阅读 1.7k
4 个回答

端口不同只能共享cookie,不能共享localStorage等浏览器储存

再开一个服务,作为入口,然后代理转发到另外两个服务就行了吧

得看你的具体需求是什么,是本地的开发环境想要共享,还是线上生产环境的想要共享。

本地的开发环境可以在启动不同项目的时候使用同一个 port,只要不同时启动多个项目就好。这样的话,登录的时候就可以直接用其他项目的登录信息了。如果是多个项目的话,得需要你本地再转发一次,就会比较麻烦。

要是线上的生产环境的话,可以用 @MrBigShot 提到的使用 NG 去代理转发不同的服务在同域环境下,当然这个只是一个方式。真的想做多站点的单点登录,其实现在使用最多的方式其实通过一个 CAS 认证服务去做的但这个就是后端的范畴了。
如果说是已经上限的项目想要切换域名,并且保持原域名下的本地缓存信息可以参考 @Meathill 的这篇文章 使用 postMessage 跨域名迁移 localStorage 里面很清晰的描述了处理思路和过程。

推荐问题
宣传栏