题
我想知道在网站中进行单点登录的最佳技术是什么。这意味着如果您进入多个网站,您将以一种“透明”的方式进行身份验证。我正在使用 php + curl 为不同站点设置 cookie,但我真的很想知道是否存在标准方法来做到这一点。
解决方案
对于标准的安全方式,您需要:
- 认证服务器
- 每个需要 SSO 的站点上的身份验证过滤器
该机制有点复杂,它涉及http重定向和安全身份验证票证。您将找到有关的详细说明 中国科学院网站 (流行的 java SSO 服务器)。
我建议阅读此页面“CAS Java 客户端网关示例”,尤其是页面底部的序列图。
其他提示
最好的方法是使用图像标签从外部站点提取图像流。
因此,如果您位于 www.some-site.com 并且还想登录 www.some-partner-site.com,则登录后会显示以下内容:
因为您使用的是图像,所以它会强制浏览器“拉入”该 URL 的内容。
我最近构建了一个使用 ASP.NET 实现的解决方案,但我们也有一个基于 php 的合作伙伴网站。
显示什么图像无关紧要,实际上您根本不应该显示任何图像(因此是 1x1 尺寸)
不隶属于 StackOverflow