加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何使用ASP.NET和iframe对跨域的用户进行身份验证?

发布时间:2020-12-16 06:41:51 所属栏目:asp.Net 来源:网络整理
导读:我正在为一个客户做一个ASP.NET网站,他希望通过IFRAME在其他“经销商”网站上提供他们的报告页面. 经销商网站提供相同的服务,具有不同的品牌. 我需要尽可能避免要求他们在他们的网络服务器上实现任何代码来实现这一点 – 因此使用iframe. 用户将登录到经销商
我正在为一个客户做一个ASP.NET网站,他希望通过IFRAME在其他“经销商”网站上提供他们的报告页面.
经销商网站提供相同的服务,具有不同的品牌.
我需要尽可能避免要求他们在他们的网络服务器上实现任何代码来实现这一点 – 因此使用iframe.

用户将登录到经销商网站,加载包含iframe的页面,该iframe将在主站点加载报告.
作为参数,我们会发送转销商ID及其用户名.

我们可以使用SSL服务器证书,但不能使用任何联合登录(如OpenId) – 客户端的业务选择.

问题是,主站点如何验证从转销商加载页面的用户是否确实要求报告页面?
换句话说,如何跨域验证用户,而无需经销商实现代码.

任何想法将不胜感激!

解决方法

您的登录表单可以使用一些 javascript将登录表单发布到您需要登录的每个域的隐藏iframe(由于跨域安全性问题,您不能使用 XMLHTTPRequest).

请务必将iframe重定向回原始域,否则由于跨域安全性,您将无法从iframe中获取登录状态.

IE支持的最后一招是翻转邪恶的位并添加

P3P: CP="CAO PSA OUR"

到您的HTTP响应标头.这告诉浏览器“我不会做任何坏事,诚实”.

http://support.microsoft.com/kb/323752

http://www.w3.org/P3P/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读