Сессия переопределяется при открытии новой вкладки в IE в MVC - PullRequest
0 голосов
/ 30 октября 2018

У меня есть URL домашней страницы http://localhost:3443/home1 В действии index home1 у меня есть сеанс ["Home"] = Home1. У меня есть другая домашняя страница URL-адрес http://localhost:3443/home2 Там у меня есть сессия ["Home"] = Home2.

Теперь контекст для некоторого пользователя - целевая страница home1. Поэтому, если они нажимают кнопку «Домой» в меню или выполняют какую-либо подобную деятельность, они должны попасть в дом1.

Для другой группы пользователей они должны приземлиться в доме 2 для любого действия, которое они ведут, что приводит к домашней странице.

Теперь menu.it является элементом управления ascx. Здесь мы проверяем значение сеанса home1 или home2. Исходя из этого, мы перенаправляем пользователя на нужную целевую страницу. Теперь проблема, с которой я сталкиваюсь, - это когда мы копируем http://localhost:3443/home1 на другую вкладку, например tab2 и оттуда мы превращаем его в home2, а затем делаем некоторые действия. А затем вернитесь к tab1, что происходит, значение переопределяется в сеансе home2. Что приводит к неправильной посадочной странице при нажатии на домашнюю ссылку в меню. Есть ли у вас какие-либо решения этой проблемы?

Надеюсь, я правильно объяснил проблему, если нет, пожалуйста, дайте мне знать, я объясню дальше.

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Как упомянул @Skuld, сеанс предназначен для подключения пользователя к сайту, поэтому, если пользователь переходит на другую страницу, на которую ему или ей разрешено заходить, он может открыть ее в новой вкладке, сохраняя исходную вкладку открытой, если это форма страниц вы можете посмотреть на 14 AntiForgeryToken. также я заметил, что вы сказали, что это происходит в IE, это также происходит в Chrome? Если это так, вы можете посмотреть, если IE не использует куки. Вы можете добавить роли к сеансу, а затем авторизовать эти роли для home1 или home 2 с вашего контроллера. Вы должны авторизовать пользователей и роли для страниц в вашем коде, не входящих в ваш сеанс. трудно помочь больше без какого-либо кода, чтобы посмотреть.

Надеюсь, вы попадете на правильный путь.

0 голосов
/ 30 октября 2018

Сеанс предназначен для соединения, которое будет включать обе вкладки (например, почему вы можете войти в stackoverflow на одной вкладке, а затем, если вы откроете вторую вкладку, вы все еще вошли в систему)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...