即使使用变量会话打开另一个选项卡,也要在页面上重新登录

时间:2015-01-25 19:38:18

标签: asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-5 asp.net-core-mvc

如何在我的网站中实现此行为 我需要在我的网站内登录以浏览网站,如果我打开一个新选项卡,我想显示登录页面,登录上一个选项卡的用户也不必登录新的选项卡。(对待所有新标签,如独立会话)

当用户被记录时,安全令牌存储在我的Session [token]上,如果我打开另一个选项卡,另一个用户可以使用另一个令牌会话登录到该网站。(这不一定是相同的浏览器)

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点,但每个方法都有一些限制。所有方法都需要客户端和服务器端的一些自定义开发来管理数据。

  1. 不要使用cookie或传统的身份验证机制,因为每个域都有cookie,所以它没有帮助。

  2. 如果您使用的是HTML5,那么您可以利用sessionStorage并存储不同的Id(生成guid)并传递每个请求来识别。 (您必须更安全地生成自己的加密值)

  3. 为简单起见,您可以在每个标签上使用HiddenField,并从网址获取值。

  4. 如果你知道ASP.net cookieless会话,那么你可以看到url有sessionid,你必须做类似的事情。

  5. 在MVC中,您可以通过创建自定义路径来完成此类操作。 http://blog.gauffin.org/2012/02/get-a-unique-session-in-each-browser-tab/