IIS:无 Cookie 的会话 ID 被编码为 url 参数而不是 url 的中间部分?

IIS:无 Cookie 的会话 ID 被编码为 url 参数而不是 url 的中间部分?

当 IIS (7.5) 设置为以无 cookie 的方式存储 session-id 时,它会将其存储在 url 中间,如下所示:

http://yourserver/folder/(S(0nbx3kusz4pfjvq0bu3ab4zo))/default.aspx

是否可以改变此行为,以便将会话 ID 存储为 url 参数?它应该看起来像这样:

http://yourserver/folder/default.aspx?sessionId=0nbx3kusz4pfjvq0bu3ab4zo

这可能吗?

答案1

简短回答:

长答案:

理论上可以改变 ASP.NET 无 cookie 支持的工作方式,但最终您将需要一组新的 HTTP 模块,并且必须处理响应 URL 重写。总而言之,这并不好。总而言之,如果您想覆盖内置提供程序,最终将重新创建会话机制。

顺便说一句:StackOverflow 也有同样的问题

相关内容