Моя задача - разбить существующее приложение JSF на веб-службу JAX-RS и веб-клиент JSF. Разделение должно выполняться на бизнес-уровне. Оба клиента и сервера должны работать на другом JBoss AS7.1. В настоящее время обе стороны используют аутентификацию, управляемую контейнером. JSF-клиент предоставляет доступ к uri-path/customers/* для пользователей с ролью CUST и/admin/* для пользователей с ролью ADMIN. Разумеется, веб-сервис также защищает его ресурсы (Роли: CUST & AMDIN). Аутентификация для части веб-сервиса ясна для меня. Поэтому мой вопрос заключается в том, как обеспечить надлежащую аутентификацию для JSF-клиента. Для меня есть три варианта:Управление клиентом и сеансом JAX-RS
- Обе стороны управляет своей собственной аутентификации (Трудно синхронизировать) Есть ли способ для синхронизации с проверкой подлинности пользователей между двумя серверами приложений JBoss?
- Обе стороны управляет своими учетными данные и, JSF-клиент посылает каждый запрос
UsernamePasswordCredentials
к вебу-службе - Контейнер управляемой аутентификация выполняется только на стороне веб-службе. JSF-клиент пытается получить информацию, а в случае ответа, как: «коллегиально не прошла проверку подлинности» для JSF-клиент заставляет пользователя ввести свои учетные данные и выполняет rquest снова
UsernamePasswordCredentials
Я действительно не имею идея, которая (или является) одним из этих трех подходов осуществима. Я искал в Интернете лучший подход, к сожалению, без всякого успеха.
Есть ли какой-либо известный подход к передовой практике для этой проблемы, или вы можете дать мне подсказку, как решить эту проблему.
Отличный ответ, THX! OAuth представляется наиболее подходящим решением. JBoss предоставляет хорошую документацию для [Аутентификация с помощью OAuth] (http://docs.jboss.org/resteasy/2.0.0.GA/userguide/html_single/#d0e2687) –