| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Аутентификация для веб-сервиса |
| Автор: Pit86 11.11.2009, 16:50 | ||
| Всем доброго дня, Необходимо сделать аутентификацию для веб-сервиса. Как известно веб-сервисы состояния не поддерживают. Есть предложение сделать метод login генерирующий sessionId, метод logout убивающий сессию. Соответственно клиенту придется передавать в каждый метод sessionId. Самому писать хранение сессий не очень хочется. Вроде как есть библиотека SessionMan, которая как раз этим занимается:
Но ее неизвестность меня смущает. Стоит ли ее использовать? Собсно я уверен что много кто сталкивался с такой проблемой аутентификации. Может быть есть некое стандартное решение? |
| Автор: COVD 11.11.2009, 20:01 | ||
Разве любой веб-контейнер не поддерживает сессии? Томкат, например, имеет стандартный способ аутентификации, основанный на проверке реквизитов запроса в базе данных, файле или еще как-то. Но этот механизм (в случае неудачного логина клиенту отсылается форма логина, например) может быть неудобен, если клиент не пользователь, работающий с браузером, а приложение. |
| Автор: ekr 13.1.2010, 17:42 |
| WS-Security - это необходимый стандарт, решающий как раз Вашу проблему. Следует использовать сервер или framework, реализующий доп. стандарты WS-*. |
| Автор: afon 16.1.2010, 21:49 |
| ekr, а вы бы не намекнули, в чью сторону покопать? А если еще и в что-то поддерживаемое через spring-ws, было бы вообще хорошо Pit86, а я именно так и сделал. в каждом запросе отправляется sessionId, при этом ты сам управляешь своим списком сессий, всегда можешь его посмотреть, знать где-кто-что, и при этом один большой плюс - поле sessionId всегда приходит в теле сообщения, а не в заголовках, так что с ним удобно работать при анмаршалинге тела сообщения в объект, не надо дополнительно лезть за заголовками. |
| Автор: Akvel 30.3.2010, 14:45 |
| Подскажите новичку. Как (или на базе чего) можно прикрутить ws-security к jax-ws сервисам? Может у кого есть простой пример? |