如何在Classic ASP中获取当前会话的身份验证cookie名称

时间:2010-11-19 21:06:12

标签: session asp-classic

经典ASP创建名称类似于ASPSESSIONIDSSDSQQCR的cookie,其中“ASPSESSIONID”之后的后缀不同。 如果你工作了一段时间,应用程序浏览器会保存所有以前的会话cookie(可能是10个cookie或更多),所以无法理解当前会话的cookie是什么

我知道有办法获得当前的SessionID

Session.SessionID

但我怎样才能获得cookie值?


我只是想为ASP.NET创建身份验证解决方案,这只是主要经典ASP应用程序的插件 在该设计中,主应用程序使用当前的经典ASP cookie值在数据库中创建记录,然后当用户尝试访问ASP.NET部分时,它只需要请求所有“ASPSESSIONIDSSD + XXXXX”cookie并验证其中哪一个仍然有效在数据库中寻找初始记录。如果找到有效的会话,那么它应该启动ASP.NET会话....

1 个答案:

答案 0 :(得分:2)

我认为你不能从ASP.NET获得Classic ASP的会话ID cookie。 Classic ASP会话cookie已应用加密,以防止客户修改它。不幸的是,这也会阻止您的.NET代码修改会话cookie。

我能想到的最简单的事情就是在你的经典ASP代码中设置一个额外的cookie。不是将经典会话ID存储在数据库中,而是存储其他一些密钥,例如GUID。然后使用密钥将会话cookie发送到浏览器。

Response.Cookies("SessionKey") = GeneratedGuid

然后,您可以在.NET中读取SessionKey cookie并从数据库中查找其值。