springboot+vue的一个前后分离的项目,想通过访问其它系统提供的api,获取文档等一些资源到前端展示,该如何做?
自身系统会有多个用户访问,但部分数据来自api提供且只有一个账户(有一个api账户可以登录获取数据)。有一个想法是在自己的后台登录api账号,并把获得的sessionid返回给前端的用户,然后前端用户通过sessionid访问api获取数据,但这个sessionid有一定的时效性,在多个用户要通过同一个sessionid访问数据的情况下,该如何维护api系统的登录状态,每次请求都做一次有效认证吗?
还是说利用后台做数据中转,所有请求都到后台,然后由后台去访问api,把获取的数据返回到前端。感觉这样做消耗资源,还有会不会有延迟,因为有的数据在100M以上,还有想过做缓存,但api提供的数据会不定时更新,如何才能保持数据的一致,且数据量有点大,如果可以该采取什么样的方法解决?
第一个想法,每次做校验的话,也就是在每次访问其他系统前都需要先去尝试访问,如果没有拿到资源的话,就再访问自己的系统获取新的 sessionId。不能说每次都做有效性校验,而是在拿不到数据的时候需要重新后端去拿 sessionId,这样看上去是没问题的。
这两个想法其实都是后端登陆,只是区别在于把不把主动访问其他系统的权限交给用户,如果你们要考虑安全性的话,说实话不能把权限交给用户。通过自己的系统做中转。做缓存这个,除非其他系统能提供最近资源更新时间这种 api,要不然缓存很难一致性。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
1.你需要通过一个api获取到数据并展示,而这个api是需要登录验证的
2.后端访问api,获取到的数据本地存储一份,前端需要请求的是本地
3.数据一致的问题,要看你自己系统的业务,是不是对数据的实时性要求很高
4.如果不高,只要定期更新一下本地数据存储即可
5.如果很高,https://blog.csdn.net/do_bset_yourself/article/details/61425922看看能不能有所启发