我在web.config文件中提供sessionstate,就像这样
sessionstate mode =“InProc”cookieless =“UseUri
这样,每个标签在URL中生成一个新的唯一会话ID,格式如下: http://www.domain.com/(S(kbusd155dhzflbur53vafs45))/default.aspx
它工作正常,但是当我复制网址并将其粘贴到另一个标签上时,之前的会话值就会继承。我该如何解决这个问题?还有其他方法可以解决问题吗?
答案 0 :(得分:0)
如果用户将包含现有会话令牌的URL粘贴到新选项卡中,则您的应用程序可能无法知道这是新选项卡而不是现有选项卡。我担心没有一些hacky浏览器插件,你可以做的很少。
答案 1 :(得分:0)
这种情况的一种可能解决方案是在您写入客户端的每个响应中发出一张票(guid或类似的东西)。在请求中,客户端将发送此票证,服务器将1)检查它是否有效,2)使其无效,这样只需要一个请求(原始请求)即可。这样,您的用户就无法利用新标签,甚至无法复制/粘贴网址。