【问题标题】:Passing Credentials Between Application and IFrame在应用程序和 IFrame 之间传递凭据
【发布时间】:2011-11-16 15:33:13
【问题描述】:
我有一个包含iframe 的 Web 应用程序 (A)。 iframe 包含另一个 Web 应用程序 (B)。
假设我登录到 Web 应用程序 A 并显示 5 个不同的 iframe 托管 5 个不同的模块。其中一个模块是需要用户登录的 CRM 应用程序。如何将 Web 应用程序 A 中已登录用户的凭据传递到托管在 iframe 中的此 CRM 模块(Web 应用程序 B)?
【问题讨论】:
标签:
c#
asp.net
.net
cross-application
【解决方案1】:
最好的方法是使用JQuery。
这里有发布消息的概念,我在几个项目中都使用了它。如果您不知道,请单击此链接。
如果你在网上冲浪,你会发现很多与之相关的帖子。
为了您的可行性,我在下面放置了对您有用的链接:
jquery-postmessage-plugin
jquery-ba-postmessage-js
postmessage.freebaseapps.com
前:
pm({
target: window.frames["example2"],
type:"message2",
data:{hello:"world"},
success: function(data) {
$("#example2").after(JSON.stringify(data));
}
});
pm.bind("message2", function(data) {
$(document.body).append(JSON.stringify(data));
return {foo:"bar"};
});
如果这对您没有帮助,请告诉我。
【解决方案2】:
我假设您使用表单身份验证,article 描述了您如何在多个站点之间共享凭据
【解决方案3】:
假设我们讨论的是 Dynamics CRM,您可以通过简单的 WhoAmIRequest 检索用户信息,这将检索当前用户信息(基于 systemuser 实体)。无论如何,您已经登录了 CRM,所以它与您已经做过的(或者我假设您做过)应该没有太大的不同
我认为 SDK 有一个可以做到这一点的示例,您可能需要查看它。