如果我想维护HTTP和HTTPS之间的会话,我该怎么办..在我网站的公共区域,有些页面是HTTP,有些是HTTPS,但我想保留两者的公共会话。
答案 0 :(得分:2)
一旦您的用户经过身份验证,他们将继续使用相同的会话Cookie,直到它过期,无论他们是使用HTTP还是HTTPS访问网页。确保在会话cookie上使用加密,以便在通过不安全的协议传递时更难以破解。您可能需要查看session hijacking上的维基百科文章以获取更多信息。
答案 1 :(得分:1)
除了默认的“In Proc”之外,您可以使用多种会话状态模式(可以在web.config中配置):
StateServer 模式,它将会话状态存储在名为ASP.NET状态服务的单独进程中。这可确保在重新启动Web应用程序时保留会话状态,并使会话状态可用于Web场中的多个Web服务器。
SQLServer 模式将会话状态存储在SQL Server数据库中。这可确保在重新启动Web应用程序时保留会话状态,并使会话状态可用于Web场中的多个Web服务器。
自定义模式,可让您指定自定义存储提供程序。
见ASP.NET Session-State Modes on MSDN。我没有为HTTPS测试过这个,但希望StateServer或SQLServer能够为此做好准备。
答案 2 :(得分:0)
每个用户每个应用程序维护一个会话。因此,如果您有一个应用程序通过https提供一些页面而一些通过http提供,则您不必担心从https转到http时会创建新会话,反之亦然。