我想知道在网站中进行单点登录的最佳技术是什么。这意味着如果您进入多个网站,您将以一种“透明”的方式进行身份验证。我正在使用 php + curl 为不同站点设置 cookie,但我真的很想知道是否存在标准方法来做到这一点。

有帮助吗?

解决方案

对于标准的安全方式,您需要:

  • 认证服务器
  • 每个需要 SSO 的站点上的身份验证过滤器

该机制有点复杂,它涉及http重定向和安全身份验证票证。您将找到有关的详细说明 中国科学院网站 (流行的 java SSO 服务器)。
我建议阅读此页面“CAS Java 客户端网关示例”,尤其是页面底部的序列图。

其他提示

您还可以查看 OpenId。这与登录 stackoverflow 的机制相同,并且具有“全局”单点登录功能。

我相信有 php 库可以与之集成。

您还可以看一下 这个问题.

最好的方法是使用图像标签从外部站点提取图像流。

因此,如果您位于 www.some-site.com 并且还想登录 www.some-partner-site.com,则登录后会显示以下内容:

因为您使用的是图像,所以它会强制浏览器“拉入”该 URL 的内容。

我最近构建了一个使用 ASP.NET 实现的解决方案,但我们也有一个基于 php 的合作伙伴网站。

显示什么图像无关紧要,实际上您根本不应该显示任何图像(因此是 1x1 尺寸)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top