Вход на сайт
Вопросик из области Web-Programmierung, Java
5645 просмотров
Перейти к просмотру всей ветки
в ответ BorisL0 05.09.15 13:12
>> Как я понимаю, когда юзер куда-то логинится, его логи/пароль проверяются по соотв. базе данных. Можно ввести дополнительное поле в таблице пользователей БД, которое отвечает за то, залогинен пользователь или нет.
Нет, немного иначе, поскольку речь идет о разных логинах (там такая схема, что валидировать изменения, произведенные в БД одним юзером, может только другой юзер, поэтому вот так это предписание и обходится левым образом, иначе много геморроя).
Т.е. есть реальные люди и есть аккаунты - это разные вещи. На одной Юникс-машине могут одновременно работать несколько человек. По той схеме, что Вы предлагаете, сможет работать только один.
Так что привязка должна быть не к к аккаунту, а все-таки к ID сессии, которое принадлежит одному человеку, именно это значение должно проверяться, если такое ID уже зарегистрировано, то второе окно не открываться.. Нет, впрочем, это тоже не годится. А что, если юзер закрыл окно и ушел? Завтра придет - сессия та же, окно не открывается?
Я думаю, решение надо искать в том, что насильственно перезапускать сессию, но как? Один жесткий тайм аут на Томкате ведь не поможет.
Нет, немного иначе, поскольку речь идет о разных логинах (там такая схема, что валидировать изменения, произведенные в БД одним юзером, может только другой юзер, поэтому вот так это предписание и обходится левым образом, иначе много геморроя).
Т.е. есть реальные люди и есть аккаунты - это разные вещи. На одной Юникс-машине могут одновременно работать несколько человек. По той схеме, что Вы предлагаете, сможет работать только один.
Так что привязка должна быть не к к аккаунту, а все-таки к ID сессии, которое принадлежит одному человеку, именно это значение должно проверяться, если такое ID уже зарегистрировано, то второе окно не открываться.. Нет, впрочем, это тоже не годится. А что, если юзер закрыл окно и ушел? Завтра придет - сессия та же, окно не открывается?
Я думаю, решение надо искать в том, что насильственно перезапускать сессию, но как? Один жесткий тайм аут на Томкате ведь не поможет.
Эй, фуфло, готовься к шмону, ты на стрём поставлен у ворот...
Присоединяйтесь: https://t.me/kudy_vadis