
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.05.2015, 22:57
|
|||
|---|---|---|---|
|
|||
Несколько теоретических вопросов о HttpSession? |
|||
|
#18+
Здравствуйте, создаю небольшое приложение с авторизацией, и что-то мне перемешалось все... В большинстве примеров показано следующее Код: java 1. 2. 3. Как мне организовать следующее, теоретически: 1. Человек находится на стартовой странице сайта - ему соответственно никакая сессия не нужна. 2. Вводит логин и пароль, на сервере припустим фильтр какой-то проверяет и обратно шлет в http-header JSESSIONID которое генерирует HttpSession. 3. Пользователь успешно залогинился, теперь при каждом запросе он в своем http-header шлет JSESSIONID, я соответственно сверяю сессию (есть ли она в HttpSession). - Все верно? 4. Выхожу с аккаунта - просто ставлю сессию в setInvalidate. Теперь непонятные мне действия. - Как HttpSession распознает пользователей? При первом запросе говорит что сессия новая, при всех последующих JSESSIONID в сессии тот же, но значение isNew=false. - не понимаю как сравнивать сессии? Просто сравнивать строчки JSESSIONID? -зачем все вставляют дополнительный атрибут httpSession.setAttribute("username", username); ? Как оно связывается между собой? Вопросы возможно глупые, но буду благодарен за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2015, 10:06
|
|||
|---|---|---|---|
|
|||
Несколько теоретических вопросов о HttpSession? |
|||
|
#18+
_webdev_- Как HttpSession распознает пользователей? Этот класс никак не связан с пользователями и никак их не распознаёт. Браузер хранит jsessionid в куках или параметрах запроса. Сервер по jsessionid трекает сессию на сервере. _webdev_При первом запросе говорит что сессия новая, при всех последующих JSESSIONID в сессии тот же, но значение isNew=false. Набор слов какой-то. isNew это аргумент метода. Это, возможно, ключ к вашему первому вопросу. Если вызывать сессию с параметром false, то она не будет создана на сервере, если её ещё нет. В JavaDoc имеется более точная формулировка. _webdev_- не понимаю как сравнивать сессии? Просто сравнивать строчки JSESSIONID? Зачем их сравнивать? Они, обычно, никак не взаимодействуют. _webdev_-зачем все вставляют дополнительный атрибут httpSession.setAttribute("username", username); ? Как оно связывается между собой? Почему этот атриубут вдруг дополнительный? Просто когда влом использовать JEE для аутентификации и авторизации, пишут всё ручками в сессию. _webdev_Вопросы возможно глупые, но буду благодарен за ответы. Да. Над формулировкой надо поработать. Потому что по вашим словам HttpSession это прям магия какая-то. А это просто Key Value Map для того чтобы на сервере хранить значения связанные с клиентской сессией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2015, 10:19
|
|||
|---|---|---|---|
|
|||
Несколько теоретических вопросов о HttpSession? |
|||
|
#18+
Blazkowicz_webdev_-зачем все вставляют дополнительный атрибут httpSession.setAttribute("username", username); ? Как оно связывается между собой? Почему этот атриубут вдруг дополнительный? Просто когда влом использовать JEE для аутентификации и авторизации, пишут всё ручками в сессию. ну, он имел ввиду, что это дает... а дает это то, что из любой точки приложения можно получить username из объекта сессии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2125339]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 344ms |

| 0 / 0 |
