我正在进行一个站点间的单点登录项目,但是我的膝盖上出现了一个很小的问题。当用户注销“父”站点时,需要在包含“子”站点的弹出窗口中加载特定页面。但是,我不能存储对的返回值的引用window.open(…)
,因为在注销之前必须允许用户在每个站点上的任意位置进行导航。
如果我可以假设子站点始终处于打开状态,这将很容易,因为另一个window.open(…)
到相同命名窗口的站点将更改其URL。然而,在弹出不能引起出现,如果它是尚未打开(不是所有用户都可以访问到子站点)。
我认为这给了我两个矛盾的场景。用户访问子站点时:
用户登录父站点。
用户点击子网站链接
子站点出现在名为“ child_popup”的窗口中。
用户在父站点中四处浏览,而忘记了子窗口的存在。
用户退出父站点。
子弹出窗口将重定向到子站点的注销页面。
并且当用户不访问或无法访问子站点时:
用户登录父站点。
用户在父站点中进行广泛浏览。
用户退出父站点。
不应出现任何弹出窗口!
所以我的局限性是:
我无法在JS中存储对该窗口的引用,因为用户可以在访问子站点与注销之间导航到任意数量的页面。
我对子站点的内容具有零控制权(我的雇主经营父站点)。
父站点无法转换为框架以提供“全局” JS作用域。:-)
我无法在Google或SO上找到任何相关资源。有没有办法做到这一点?