2010-05-27 152 views
5

我们的客户有要求,以扩大其现有大型政府项目的功能。它是一个ASP.NET 3.5(最近从2.0升级)项目。显示网页

现有的解决方案是一个相当庞然大物几乎是不可维护,使他们已经决定,他们希望通过举办它是在现有的网站中显示其他网站提供的新功能。

至于如何这是最好的做我现在不太清楚,如果有防止它或任何需要安全需要考虑的问题。

本质上,用户会像往常一样登录到现有网站,并且在某个链接上登录时,页面会像平常一样加载某种框架或控件,其中包含来自其他站点的页面内容。 IE浏览器。他们不希望简单地重定向到他们想要显示其嵌入到当前内容中的其他站点,以使现有菜单等仍然可用。

我相信,如果需要的信息要传递到嵌入式网页会使用查询字符串,因为我不知道是否有甚另一种方式来完成这项工作要做。

谁能给我上哪里找,在实现这个或任何潜在的缺陷我应该知道的启动一些指针。

由于

+0

你需要进行身份验证,查看网站? – alejandrobog 2010-05-27 05:46:25

+0

假设他们已经通过身份验证,我们将添加某种检查来确保即使已经通过身份验证,新站点也不能直接访问。 – 2010-05-27 05:48:30

+0

iframe或javascript - 这些是我意识到的唯一两种方式。 – RPM1984 2010-05-27 05:54:21

回答

2

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

它很简单,在你指向状态服务器(可以位于网络服务器中的一个),每个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

创建主域下一个虚拟目录。如果您的域名是www.mydomain.com,则创建一个虚拟目录www.mydomain.com/site并在/ site虚拟目录下移植新的网站应用程序。这个链接应该变得非常重要。有了这个,虚拟目录应用程序也将保留由主域设置的所有域cookie。

+0

我不确定这是否回答我的问题。我更喜欢实际让页面在另一个页面中显示,并将至少一个查询字符串传递给嵌入式页面。 你的最后一句话是什么意思? 谢谢 – 2010-05-27 05:54:37

1

我会建议做第二的网站看起来就像第一个或至少使用相同的母版,这样你就可以从一个网站重定向到另一个没有任何视觉上的差异。

如果您的站点需要身份验证,请考虑您需要采取一些措施来防止用户登录两次,一个选项可能是将加密的令牌发送到第二个站点。

所有这一切都

如果你被迫有第二现场,如果不是只使用一个虚拟目录

0

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

您还可以通过在查询字符串中的敏感数据,但它会确保在发送之前将其加密。

我知道这是不是最完美的解决方案,但它能够完成任务。而从现有的应用程序的描述,它似乎并不像你的客户关心“优雅” :)

希望这有助于