![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Alexis |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 14.8.2006 Где: Казань Репутация: 5 Всего: 5 |
Видимо плохо искал, но так и не нашел полного описания как в Java web-приложении реализовать авторизацию с помощью куков. Мне в голову пришло примерно следующее:
Аутентификация: В форме аутентификации пользователь вводит имя и пароль и жмет submit, далее проверяются введенные данные и в сессии пользователя сохраняется его ID (или уникальный никнейм), если пользователь отметил "Запомнить меня", то ему отправляют cook, содержащий хэш пароля и никнейм. Авторизация: В базовом для всех экшенов (я использую Struts) классе создаю метод вроде:
Только наверное стоит сразу и имена ролей в сессию закинуть, чтобы в БД лишний раз не лазить. Сделать бин, который содержит ID, имя и роли пользователя, его и кидать в сессию. Примерно так я себе это представляю. Было бы интересно узнать как это люди делают ![]() |
|||
|
||||
Alexis |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 14.8.2006 Где: Казань Репутация: 5 Всего: 5 |
Посоветовался со знающими людьми. Сказали, что лучше всего сделать табличку в БД в которой хранить ID пользователя, которому отправили куку, время отправки и хеш, который отправили в куке. Соответственно, при авторизации проверять соответствие хешей из куки и из БД.
|
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Если вы используете контейнер сервлетов (Томкат например) , то контейнер использует куки для обеспечения работы сессии. Программист имеет дело с сессией.
Аутентификация - распознавание пользователя (обычно через имя-пароль) Авторизация - выяснение, имеет ли аутентифицированный пользователь право на ресурс ( права доступа извлекаются из базы данных по имени пользователя и кладутся в текущую сессию). Куки в базу имеет смысл класть только если хотите по ним аутентифицировать пользователя. Тут обсуждали уже неумирающие сессии. Это нестандартное решение. Это сообщение отредактировал(а) COVD - 22.12.2007, 22:16 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |