【发布时间】:2016-11-15 13:32:33
【问题描述】:
我有 2 台服务器:
1) Apache tomcat 服务器在 8443 端口使用 Spring 启动
2) 443端口上的节点服务器
他们都是https。
现在应用程序的设计方式是服务器 1 处理登录页面,服务器 2 处理仪表板
所以用户使用以下方式登录:https //localhost:8443/login
成功登录后我会做一个
window.open(https //localhost:443/dashboard?userName=xyz,"_self");
将用户重定向到节点服务器托管的仪表板。
现在我的问题是如果用户直接点击 https //localhost:443/dashboard?userName=xyz,那么他可以访问错误的仪表板。
用户应始终仅在登录后访问仪表板。
但我不能使用会话,因为会话不能在 2 个服务器之间共享。
那么我如何跟踪用户是否已登录服务器 1 并且允许他查看服务器 2 中的仪表板?
我还打算购买一个域名 但是如何通过 2 个端口托管它? (8443 & 443)
我想要类似的东西
1)https //example.com/login(8443端口)
2)https //example.com/dashboard?userName=xyz(443端口)
【问题讨论】:
-
请看这篇关于会话粘性的文章:serverfault.com/questions/32421/…
标签: node.js session spring-boot cross-domain