0

我想允许在父站点上发生的登录以自动允许 iframed 站点登录。

下面是具体情况:

我有一个网站是一个简单的登录页面。登录后,用户会看到带有一系列 URL 的菜单(都具有相同的基域但具有不同的端口)。

main.example.com   (main site)
main.example.com:14002  (iframe #1)
main.example.com:14003  (iframe #2)
...

用户选择其中一个菜单项,然后将 url 加载到 iframe 中。

菜单是由数据库表驱动的。

所有的 URL 都将从 IIS 加载,但它们都在不同的端口上运行,因此我们可以很好地控制能够在一天中重新启动它们并部署新的。

我正在努力寻找一种方法来允许登录主站点以允许安全登录 iframe 站点。

换句话说,iframed 站点如何安全地知道登录到主站点的用户的用户 ID?

这些不是被 iframe 的任意站点。我们可以控制所有源代码。

4

1 回答 1

0

这是我们最终做的事情:

主站点使用此技术在其中放置一个带有令牌的 cookie,以便模块站点可以看到它:

document.cookie = "key=token;domain=mydomain.com"

然后 module.mydomain.com 站点使用令牌对 master.mydomain.com 网站进行 Web 服务调用,以检索登录的用户 ID。

如果没有 cookie 或令牌过期,用户会在 iframe 窗口中看到登录屏幕。

于 2019-06-21T18:57:05.300 回答