1

有很多类似的问题被问到,但我并没有真正找到一个好的答案。这是场景。

鉴于:

三个不同域名的网站(不仅仅是不同的子域):

  • 站点 1:域:CrossDomainServer.com - 我可以完全控制这个网站。服务器端技术——asp.net-mvc
  • 站点 2:域:CrossDomainClient.com - 我只能要求他们的管理员在他们的页面上放置一些 javascript/html。
  • 站点 3:域:CrossDomainEvil.com - 无权使用 CrossDomainServer.com 提供的服务的网站

目标:

  • 当 CrossDomainClient.com 使用 CrossDomainServer.com 提供的 javascript 加载他们的页面时,需要检查是否允许 CrossDomainClient.com 使用服务。如果是,则显示这些服务,如果不是 - 显示登录表单。
  • 登录后,当他们重新加载页面时,不应要求该站点再次登录。
  • 登录 CrossDomainClient.com 后,应该能够通过 ajax 获取和发布数据到 CrossDomainServer.com。
    • Noah 给出了很好的文章参考来解决这个需求。
    • 这里也是关于如何在 asp.net-mvc 中实现这个的一个很好的答案。
  • 如果 CrossDomainEvil.com 在他们的页面上放置了相同的脚本,当用户在 CrossDomainClient.com 上获得授权时,他们不应该被允许使用服务 - 他们应该看到一个登录表单。

似乎SSO不是想要的,因为它允许单点进入多个系统。

如果有人能指出我关于如何实现这一目标的文章“傻瓜”,那将是最好的,因为我什至不知道从哪里开始。

任何帮助表示赞赏。

4

0 回答 0