Назад | Перейти на главную страницу

Несколько входов на портал Websphere из одного и того же браузера

У меня проблема с настройкой моего веб-портала. Когда я вхожу на свой портал более чем из одного и того же браузера (один пользователь на вкладку в firefox), они, похоже, используют один и тот же сеанс, поэтому, если сначала входит пользователь A, а затем пользователь B, пользователь A исчезает и получает сеанс пользователя B. У любого есть идеи, почему это могло происходить. То же самое происходит, если я пытаюсь дважды войти в систему одного и того же пользователя с одним и тем же браузером, когда одна вкладка выходит из системы, обе будут отключены.

Best Resgards Андерс Ольме

Кажется, вы не понимаете, как работают «сеансы» в веб-приложениях.

Сам HTTP не имеет состояния, то есть он не имеет понятия сеанса - каждый запрос страницы полностью независим.

Поэтому сеансы должны использовать какой-то механизм, расположенный поверх HTTP. Есть два основных подхода:

  • печенье
  • индивидуализированные страницы

Если вы используете файлы cookie, ваш сервер отправляет в браузер небольшой фрагмент данных (обычно это идентификатор сеанса), который браузер отправляет обратно при запросе. Это позволяет серверу распознавать запросы браузера как принадлежащие некоторому сеансу, но поскольку файлы cookie являются глобальными для браузера (не для каждого окна или вкладки), для каждого браузера существует только один сеанс.

Индивидуализированные страницы означают, что на каждом сервере страниц каждая ссылка имеет встроенный идентификатор сеанса, так что каждый запрос страницы имеет в своем URL-адресе информацию о сеансе. Таким образом сервер снова знает, к какому сеансу принадлежит запрос. Это позволяет проводить несколько сеансов в одном браузере.

Вероятно, это связано с тем, что рассматриваемый сайт использует файл cookie для хранения информации о вашем сеансе. Из-за этого у вас может быть только один сеанс для каждого браузера. Чтобы иметь возможность иметь разные сеансы для каждой вкладки, вам необходимо использовать сервер состояния сеанса для хранения информации о сеансе.

В IIS у вас есть возможность сделать это в базе данных SQL или через сервер состояния сеанса, который представляет собой специальный сервер, на котором выполняется состояние сеанса. Я предполагаю, что у портала Websphere есть эти опции.

Вы можете обойти эту проблему, войдя на портал под двумя отдельными доменами, указанными на один и тот же компьютер, чтобы файлы cookie не передавались между порталами. Нет общих файлов cookie = нет общего состояния между сеансами.

В зависимости от того, как ваш портал настроен для установки файлов cookie, вы можете сделать это, используя два отдельных поддомена - или вам, возможно, придется использовать два совершенно разных домена, если ваш портал устанавливает файлы cookie для работы в * .domain.com. Если несколько доменов портала недоступны в вашем DNS, вы можете просто зайти в свой файл hosts и создать несколько фиктивных доменов, указывающих на IP-адрес портала.