|
|
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Всем привет! Подскажите, как лучше (и можно ли вообще) инвалидировать чужую сессию? Я могу сохранить все сессии в какую-нибудь глобальную мапу и получить инстанс HttpSession по имени пользователя, допустим - не вопрос. Но на сколько безопасно вызывать метод invalidate() на такой "сохраненной" (т.е. полученной не законным путем с точки зрения контейнера сессии). Я могу так же не вызывать invalidate а вызвать setMaxInactiveInterval(1) допустим, что тоже проинвалидирует сессию. Но вопрос - не огребусь ли я потом проблем с таким решением? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 18:40 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiter, Ну а как админы работают? Не сам же юзверь делает себе харакири. Думаю это штатная работа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 19:12 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Чутье мне подсказывает что не все так просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 19:14 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiter, а что происходит при превышении времени сессии? для сервера все сессии свои, чужих нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 21:13 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
вадядля сервера все сессии свои, чужих нет. ) действительно. rabiterЧутье мне подсказывает что не все так просто а ты проверь чуйку. Напиши строчку и нажми "Пуск". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 22:17 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiterЧутье мне подсказывает что не все так просто я при превышение времени бездествия юзера с сервером - инвалидирую сессию, и командой с сервера перевожу браузер на страницу авторизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 22:34 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Petro123rabiterЧутье мне подсказывает что не все так просто а ты проверь чуйку. Напиши строчку и нажми "Пуск". Проверить-то я проверю. Оно сейчас заработает, а на другом сервере или в кластере возьмет и не заработает. Мне надо наверняка знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 23:46 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
вадяrabiterЧутье мне подсказывает что не все так просто я при превышение времени бездествия юзера с сервером - инвалидирую сессию, и командой с сервера перевожу браузер на страницу авторизации. Вы понимаете, почему я сомневаюсь, мы ведь не знаем, что там за HttpSession сервер нам подсовывает, чтобы так вот взять и сохранить в глобальной HashMap и потом переиспользовать. А вдруг это вообще какая-нибудь прокси или обертка, которая фиг знает куда ведет. Сейчас к сессии, а потом внутри у сервака что-нибудь щелкнуло, он что-нибудь у себя подчистил, и вуаля, в руках у тебя голая прокси или обертка, на которой хоть завызывайся invalidate. Вы понимаете? Но у вас почти такой же сценарий, что и в моем случае. Мне надо собственный механизм инвалидации сессии сделать. Для этого и хотел сохранять сессии. Говорите у вас никаких проблем не было с такой имплементацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 23:53 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Вот здесь, например, пишут, что не стоит так делать http://stackoverflow.com/questions/13793119/store-and-invalidate-java-httpsession-from-different-user ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2016, 23:57 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiter, это не стоит делать в том случае , если юзер активно работает и его работа прерывается. если юзер не взаимодействует с сервером - считается, что он не работает со страницей. это, конечно, чисто условное правило. тогда и можно инвалидировать сессию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 05:54 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiter, поставь время сессии в 2 минуты и посмотри что будет. весь вопрос сводится к цели прерывания сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 07:59 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Аффтар! Термины где то что щелкнуло и где то что почистил это термины домохозяек. Как обычно тебе лень разбираться со штатным и проще писать мапу. Я свой каждый кусок кода тестирую. А ты пишешь с закрытым глазом для каких то кластеров на будущее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 08:53 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiterЯ могу сохранить все сессии в какую-нибудь глобальную мапу и получить инстанс HttpSession по имени пользователя, допустим - не вопрос. Но на сколько безопасно вызывать метод invalidate() на такой "сохраненной" (т.е. полученной не законным путем с точки зрения контейнера сессии). Для начала надо сказать, что за контейнер. Потому что когда jetty+guice+самопальная авторизация то всё работает именно так. А если есть spring/javaee/... то надо смотреть, что там УЖЕ ЕСТЬ для этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 09:02 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Есть события старта и конца сессии у каждого юзверя. Если в api нет поиска, то делаешь свой список. Потом обнуляешь сессию того кого нужно. Быстрее попробовать чем обсуждать открыв Ослик и фокс на экране. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 09:08 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Petro123Аффтар! Термины где то что щелкнуло и где то что почистил это термины домохозяек. Как обычно тебе лень разбираться со штатным и проще писать мапу. Я свой каждый кусок кода тестирую. А ты пишешь с закрытым глазом для каких то кластеров на будущее. Вы нормальный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 10:39 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiter, скажу тебе ещё проще. Ты написал много воды. И ничего конкретного. Предлагаю перейти к коду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 10:41 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Сервера приложения могут быть разные в моем случае: wildfly 10, GlassFish 4, в будущем намечается web sphere (хотя надеюсь нет) Никого разве не смущает сама идея взять и сохранить такой технический объект как httpsession в мапе чтобы из под другого потока взять ее и инвалидовать? Задача такая - иметь возможность инвалидировать чужие сессии (допустим для администратора) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 10:57 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiterЗадача такая - иметь возможность инвалидировать чужие сессии (допустим для администратора) У Tomcat в админке есть такое. Уверен у других контейнеров тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 11:02 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiterЧутье мне подсказывает что не все так просто Ваше чутьё вас обманывает на этот раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 11:03 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Спасибо! Админка сервера приложений не подойдет, нужна своя страничка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 11:16 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiterСпасибо! Админка сервера приложений не подойдет, нужна своя страничка. Своя страничка, которая через JMX работает с контейнером? Если вас очень сильно пугает перспектива держать коллекцию из HttpSession, то собирайте только jsessionid. А валидируйте сессию дополнительно фильтром при запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 11:27 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Да, как запасной вариант у меня именно валидировать сессию при запросе. Про JMX - никогда не использовал, спасибо за наводку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 11:47 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
rabiterЗадача такая - иметь возможность инвалидировать чужие сессии (допустим для администратора) OK скажу в двадцатый раз. Для такой задачи ничего изобретать не надо. Вот, например, у SSO посложнее, т.к. там контроль идёт не на своём сервере, а на том который и даёт общую сессию между серверами. Для вашей задачи это оверхед. Удачи! Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 11:49 |
|
||
|
Инвалидировать чужую http сессию
|
|||
|---|---|---|---|
|
#18+
Кстати, как минимум под WildFly Код: java 1. Каждый раз для одного и того же пользователя возвращает разные инстансы класса HttpSession: Код: java Это меня и напрягает немного. Т.е. я возьму один из них и сохраню в мапе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2016, 11:52 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2123462]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
90ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 434ms |

| 0 / 0 |
