当前位置: 首页 > 知识库问答 >
问题:

在mvc中的IE中打开新选项卡时会话将被覆盖

班宏毅
2023-03-14

我在home1的索引操作中有一个主页url http://localhost:3443/home1我正在有一个会话[“home”]=home1。我有另一个主页url http://localhost:3443/home2,我有一个会话session[“home”]=home2。

现在,对于某些用户来说,上下文是登陆页面Home1。因此,如果他们点击菜单上的home按钮,或者做任何这样的activity,他们应该登陆Home1。

对于另一组用户,他们应该登陆到Home2,无论他们做什么activity,导致主页。

现在菜单.它是一个ascx控件,这里我们检查会话值是home1或Home2。基于此,我们将用户重定向到所需的登陆页面。现在我面临的问题是,当我们将http://localhost:3443/home1复制到另一个选项卡,例如tab2,然后将它改为home2,然后进行一些activity。然后回到tab1,在home2会话中,该值被重写。这会导致点击菜单中的主页链接时出现错误的登陆页面。这个问题你有什么解决办法吗?

我希望我已经正确解释了问题,如果没有请让我知道,我会进一步解释。

共有2个答案

翟奕
2023-03-14

正如@Skuld所提到的,会话用于用户到站点的连接,所以如果用户转到另一个页面,他或她被允许转到,他们可以在一个新的选项卡中打开这个选项卡,保持原来的选项卡打开,如果这些是表单页面,您可能需要查看14 AntiForgeryToken。另外,我注意到你说这发生在IE中,这也发生在Chrome中吗?如果是这样,您可能想看看IE是否不包括Cookie。您可以将角色添加到会话中,然后从控制器将这些角色授权给home1或Home2,您应该将用户和角色授权给代码中的页面,而不是会话中的页面。没有代码就很难再帮上忙了。

希望这能让你走上正轨。

卢文博
2023-03-14

Session用于连接,它将包括两个选项卡(例如,为什么您可以在一个选项卡上登录到stackoverflow,然后如果您打开第二个选项卡,您仍然是登录的)

 类似资料:
  • 问题内容: 如何在同一会话中打开新选项卡,我已经尝试了其他人提供的通用解决方案,但无法正常工作。 我正在Chrome浏览器中尝试。 我的项目在Java中 问题答案: 要打开一个, 您可以使用以下代码行: 要打开一个, 您可以使用以下代码行:

  • 我如何使用selenium(java)在IE中打开一个新的标签,并在该标签中打开一个url(而不是窗口)?我正在使用下面的代码打开一个新的标签?

  • 我想使用Selenium WebDriver和Python在不同的选项卡中打开相当多的URL。 在我的代码中有什么可以改变的地方来让新的URL在new选项卡中打开吗? 谢谢你的帮助!

  • 问题内容: 我有来自第三方开发人员的JavaScript文件。它具有一个具有链接的链接,该链接将当前页面替换为目标页面。我想在新标签页中打开此页面。 这是我到目前为止所拥有的: 谁能帮我吗? 问题答案:

  • 所以我试图在我的WebDriver中打开新的标签页。我想这样做,因为打开一个新的WebDriver为每个网站使用PhantomJS约3.5秒,我想要更快... 我使用的是一个多进程python脚本,我希望从每个页面中获取一些元素,因此工作流如下所示:

  • 我有一个每行都有一个URL的文本文档。我希望每个URL都在一个新选项卡中打开。这是我到目前为止所拥有的: 这给了我一个错误: 回溯(最近一次调用last):驱动程序中第100行的文件“scraper.py”。execute\u script(“window.open(url,'new\u window')”)文件“C:\Python37\lib\site packages\selenium\web