我正在一个站点上工作,该站点是许多站点的核心/主站点。我们还负责处理品牌旗下所有网站的身份验证。
客户希望包含单点登录操作,因此如果我要登录任何站点,我将登录到所有站点。我们通过重定向到主站点(我们的)并执行登录来处理子站点登录。
决定 SSO 将通过将图像标签嵌入页面然后调用每个子站点上的页面来运行。这将打开到他们网站的客户端会话,以便他们可以设置 cookie/做他们想要处理登录的事情。
这在大多数情况下都有效,它已经在 IE7、FF 2 和 3 上进行了测试,它们都可以工作。目前有问题的浏览器是 Safari(和 Chrome)。尽管图像确实似乎在客户端会话中加载,但似乎没有打开,但我们没有从子站点集中获得任何 cookie。问题似乎是基于 WebKit 的浏览器,其中 Safari 和 Chrome 是问题(我认为 konqueror 可能会遭受同样的命运,但目前我没有安装 Linux)。
有谁知道让 Safari 将嵌入的图像标签识别到外部主机作为打开客户端上下文的方法?或者有人可以提供一种更好的方法来从 ASP.NET 到不是 ASP.NET 的站点进行 SSO?
注意:是的,我知道到目前为止我们所做的 SSO 概念在禁用图像方面存在问题。提出的解决方案不是我的,我只是坚持下去。