HTTPS到HTTP ASP共享cookie和IIS Express上的会话

时间:2016-05-10 09:32:13

标签: asp.net session iis asp-classic iis-express

如何为IIS 8.0配置IIS Express for ASP classic。

是的,当您使用IIS 8.0时,您在ASP设置页面上有一个选项,“安全连接上的新ID”,设置为false,http和https之间的会话不会丢失

但我在IIS Express上找不到相同的选项,当我在http上重定向https时,我的会话就丢失了。

用于加密登录页面的https到http

"https://mysite:44300/login.asp" -> "http://mysite:4540/home.asp" 

请帮帮我。

由于

1 个答案:

答案 0 :(得分:2)

在评论中已经完成了,但是为了完整性

IIS Express对功能没有任何限制

  

来自ScottGu's Blog - Introducing IIS Express
  我们一直致力于开发一种新的IIS 7.x,它针对我们称之为“IIS Express”的开发人员场景进行了优化。我们认为它结合了ASP.NET Web服务器的易用性和IIS的全部功能。具体做法是:

     
      
  • 重量轻,易于安装(下载速度低于10Mb,安装速度快)
  •   
  • 不需要管理员帐户来运行/调试Visual Studio中的应用程序
  •   
  • 启用完整的Web服务器功能集 - 包括SSL,URL重写,媒体支持和所有其他IIS 7.x模块
  •   
  • 它支持并启用IIS 7.x支持的相同可扩展性模型和web.config文件设置
  •   
  • 它可以与完整的IIS Web服务器以及ASP.NET Development Server并排安装(它们根本不冲突)
  •   
  • 适用于Windows XP及更高版本的操作系统 - 在所有操作系统平台上为您提供完整的IIS 7.x开发人员功能集
  •   

说过使用起来有点棘手,因为GUI的功能非常有限。唯一可用的选项是使用IIS内置的强大的配置架构,IIS Express也支持该架构。

您需要将以下值添加到IIS Web应用程序根目录中的web.config文件中。

<system.webServer>
   <asp>
     <session keepSessionIdSecure="false" />
   </asp>
</system.webServer>

这相当于GUI属性New ID on Secure Connection

  

注意:这应该有效,但如果您无法使用它,您可能会发现将其添加到applicationHost.config效果更好。   见Answer to Classic ASP session weirdness between HTTP and HTTPS