在asp页面中显示来自其他站点的网页

时间:2010-05-27 05:42:00

标签: asp.net embed

我们的客户需要扩展其现有大型政府项目的功能。它是一个ASP.NET 3.5(最近从2.0升级)项目。

现有的解决方案非常庞大,几乎无法维护,所以他们决定通过将其托管在现有网站上显示的其他网站上来提供新功能。

至于如何做到最好我现在不太确定,是否有任何安全问题阻止或需要考虑。

基本上,用户将正常登录到现有网站,当在特定链接上进行粘贴时,页面将正常加载某种框架或控件,其中包含来自其他网站的页面内容。 IE浏览器。他们不想简单地重定向到他们想要在当前网站中嵌入的其他网站,以便现有的菜单等仍然可用。

我相信如果需要将信息传递给嵌入页面,那么可以使用查询字符串来完成,因为我不确定是否还有其他方法可以实现这一点。

任何人都可以给我一些指示,说明从哪里开始实现这个或我应该注意的任何潜在的陷阱。

由于

5 个答案:

答案 0 :(得分:2)

如果2个站点来自同一网络(它们之间的低延迟),您可以使用状态服务器进行会话管理。这样,当您在一个站点上进行身份验证时,您还将在另一个站点上进行身份验证,并在其中共享用户状态。

非常简单,在每个Web服务器的Web配置中,您指向状态服务器(可以位于其中一个Web服务器上)

<configuration>
  <system.web>
    <sessionState mode="StateServer"
       stateConnectionString="192.168.1.103:42424"
    />
  </system.web>
</configuration>

http://en.csharp-online.net/ASP.NET_State_Management%E2%80%94Storing_Session_State_out_of_Process

答案 1 :(得分:1)

在主域下创建虚拟目录。如果您的域名是www.mydomain.com,则创建一个虚拟目录www.mydomain.com/site并将新网站应用程序移植到/ site虚拟目录下。这种联系应该变得非常相关。这样,虚拟目录应用程序还将保留主域设置的所有域cookie。

答案 2 :(得分:1)

我建议让第二个网站看起来与第一个网站完全相同或者至少使用相同的MasterPage,这样您就可以从一个网站重定向到另一个网站而没有任何视觉差异。

如果您的网站需要身份验证,请考虑您需要做一些事情来阻止用户登录两次,一个选项可能是将加密的令牌发送到第二个网站。

所有这一切,如果您被迫拥有第二个网站,如果不是只使用虚拟目录

答案 3 :(得分:0)

我会使用iFrame将该网站嵌入您现有的应用程序中。只需设置“src”属性并传入其他站点需要正确呈现的任何查询字符串参数。

您仍然可以在查询字符串中传递敏感数据,但是在发送之前确保对其进行加密。

我知道这不是最优雅的解决方案,但它可以完成工作。从现有应用程序的描述来看,您的客户似乎并不关心“优雅”:)

希望这有帮助

答案 4 :(得分:0)

您可以使用类似UFrame的内容。我已经习惯了几次,似乎做得很好......

“UpdatePanel和IFRAME的优点结合”

http://www.codeproject.com/KB/aspnet/uframe.aspx

相关问题