在应用程序和IFrame之间传递凭据

时间:2011-11-16 15:33:13

标签: c# asp.net .net cross-application

我有一个包含iframe的Web应用程序(A)。 iframe包含另一个Web应用程序(B)。

假设我登录到Web应用程序A并显示5个不同的iframe,托管5个不同的模块。其中一个模块是需要用户登录的CRM应用程序。如何将Web应用程序A中已登录用户的凭据传递给iframe中托管的此CRM模块(Web应用程序B)?

enter image description here

3 个答案:

答案 0 :(得分:3)

更好的方法是使用JQuery
有消息传递概念,我已经在几个项目中使用了它。如果您不了解它,请单击此链接。

如果您在互联网上冲浪,您可以找到许多与之相关的帖子。

为了您的可行性,我已在下面链接中对您有用:

jquery-postmessage-plugin

jquery-ba-postmessage-js

postmessage.freebaseapps.com

EX:

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"};
});

如果这对您没有帮助,请告诉我。

答案 1 :(得分:1)

我假设您使用表单身份验证,此article描述了如何在多个站点之间共享凭据

答案 2 :(得分:-1)

假设我们正在讨论的是Dynamics CRM,您可以通过简单的WhoAmIRequest检索用户信息,该systemuser将检索当前用户信息(基于{{1}}实体)。你已经登录到CRM了,所以它与你已经做过的事情(或者我认为你做的)没什么不同

我认为SDK有一个样本正是这样做的,你可能想要查找它。