通过Ajax(Javascript)进行跨域身份验证
有很多类似的问题被问到,尽管我没有找到一个好的答案。下面是一个场景 鉴于: 三个不同域名的网站(不仅仅是不同的子域):通过Ajax(Javascript)进行跨域身份验证,javascript,asp.net-mvc,authentication,cross-domain,Javascript,Asp.net Mvc,Authentication,Cross Domain,有很多类似的问题被问到,尽管我没有找到一个好的答案。下面是一个场景 鉴于: 三个不同域名的网站(不仅仅是不同的子域): 站点1:Domain:CrossDomainServer.com-我完全控制这个网站。服务器端技术-asp.net-mvc 站点2:Domain:CrossDomainClient.com-我只能要求他们的管理员在他们的页面上添加一些javascript/html 站点3:域:CrossDomainEvil.com-一个没有权限使用CrossDomainServer.com提
- 站点1:Domain:CrossDomainServer.com-我完全控制这个网站。服务器端技术-asp.net-mvc
- 站点2:Domain:CrossDomainClient.com-我只能要求他们的管理员在他们的页面上添加一些javascript/html
- 站点3:域:CrossDomainEvil.com-一个没有权限使用CrossDomainServer.com提供的服务的网站
- 当CrossDomainClient.com使用CrossDomainServer.com提供的javascript加载页面时,需要检查CrossDomainClient.com是否允许使用服务。如果有,则显示这些服务;如果没有,则显示登录表单
- 登录后,在重新加载页面时,不应要求此站点再次登录
- 登录CrossDomainClient.com后,应该能够通过ajax获取数据并将数据发布到CrossDomainServer.com。
- 诺亚给出了一个很好的解决方案
- 此外,这里还介绍了如何在asp.net-mvc中实现这一点
- 如果CrossDomainEvil.com在其页面上放置相同的脚本,则当用户在CrossDomainClient.com上获得授权时,不应允许他们使用服务-他们应查看登录表单
这似乎不是我想要的,因为它允许单点进入多个系统 如果有人能给我指一指《傻瓜》这篇关于如何做到这一点的文章,那将是最好的,因为我真的不知道从哪里开始
非常感谢您的帮助。您需要使用跨源资源共享(CORS)来支持跨域AJAX POST请求。HTML5 Rocks有一篇很好的文章让您开始使用它:。我不知道asp.net-mvc,所以我无法帮助了解实际的身份验证逻辑。我应该提到这一点,但我已经研究了CORS。事实上,它解决了跨域GET和POST ajax请求的需求。身份验证本身是我最需要的帮助。虽然这篇文章很棒!谢谢你!