在两个不同端口的IIS上托管两个站点的自动登录

时间:2014-03-24 07:02:53

标签: c# session iis cookies asp-classic

我在两个不同的端口上在IIS上部署了两个相同网站的实例,一个用于测试,另一个用于生产。当我登录到生产站点并且之后我要登录到测试站点(没有注销生产站点)时,测试站点使用相同的会话,并且不要求我输入用户名密码。 我在两个站点都有相同的用户。 任何人都可以建议我如何解决这个问题。?

3 个答案:

答案 0 :(得分:1)

在私人/隐身浏览中使用进行测试。或使用不同的域名

您还可以使用其他网络浏览器。

用于测试网站的Internet Explorer和用于生产的Firefox

答案 1 :(得分:1)

很惊讶没有人建议用Host headers指定你可以使用端口80的方式,并且两个实例都不会混淆,因为主机名不同,会话cookie不会在实例之间交叉。

除了IIS中的某些配置以及对DNS服务器的修改或仅使用本地主机之外,您的代码或交换浏览器无需进行任何更改。我一直使用这种技术,在IIS服务器上使用相同的端口80但不同的主机头运行10个以上的站点。

实施例

  

IIS网站 - www.mysite.com
  绑定配置,使用的IP地址纯粹是出于示例目的。

     
IP Address: 192.168.1.100
Host Header: www.mysite.com
Port: 80
     

本地主机文件或DNS
  使用的IP地址纯粹是出于示例目的。

     
192.168.1.100        www.mysite.com        # Example DNS / Local Host Entry

链接


Ish的例子

取自以下评论

  

IIS网站 - www.abc.com:85
  绑定配置

     
IP Address: 127.0.0.1
Host Header: www.abc.com
Port: 85
     

本地主机文件或DNS
  使用的IP地址纯粹是出于示例目的。

     
127.0.0.1        www.abc.com        # Ish's Local Host Entry

答案 2 :(得分:0)

@logikal建议的附加选项是添加会话变量以识别正在使用的端口。并根据此变量的值进行操作。而且,由于您使用cookie,因此将该值添加到cookie名称中,以便浏览器可以区分使用哪个。

每个实例都将根据该变量的值具有唯一标识符。

易于在标题和基本防弹中实现,您无需从一个浏览器跳转到另一个浏览器。