2015-02-24 3 views
0


Как я могу достичь пользовательской аутентификации на Джерси 1.18 под Tomcat6? Использование Tomcat6 Realms (пока не может использоваться) или Servlets (с логикой диспетчера, если пользователь может вызывать URI или нет). У Джерси есть ServletContainer с фильтрами, но я не могу найти ни одного для этой цели.
Что мне нужно:Джерси + Tomcat authenticate

  1. Получить имя пользователя (httpReq.getRemoteUser())
  2. Загрузить роль пользователя из БД
  3. Проверка доступа к URI по роли пользователя и бросить 401

С какими классами/Jersey.Filter/Jersey.Servlet можно пройти шаг 3?
Мне очень жаль, Realms очень много, но у этого сервера есть собственный Realm modul и по соображениям безопасности он не может быть переопределен. Я беспокоюсь о том, чтобы использовать сервлеты Http из-за существования контейнера для сервлетов.
Спасибо за ваши советы ;-)

+0

Привет! Я бы сделал authenticationFilter, у вас есть довольно много ответов, на которые вы можете посмотреть, например. [этот] (http://stackoverflow.com/questions/23231511/jersey-2-how-to-create-custom-http-param-binding/23383460#23383460). Тем не менее, я быстро взглянул на документацию Джерси 1.18, и это действительно старый! Я не думаю, что вы можете сделать это так же в Джерси 1.18. Я предполагаю, что единственный способ - добавить фильтр на уровне tomcat, если аутентификация в порядке, вы передаете запрос на Джерси, если не вернешь код ошибки. Надеюсь, поможет. – lrnzcig

+0

Хорошо, спасибо за совет. Я принимаю это как ответ, потому что я (уже) знаю, что решение Tomcat.Filter существует, но все еще надеется на решение Джерси 1.18. Спасибо за это, потому что «нет решения» - это решение :-) – zegee29

ответ

0

By: lrnzcig 25 февраля в 19:20
Привет! Я бы сделал authenticationFilter, у вас есть довольно много ответов, на которые вы можете посмотреть, например. вот этот. Тем не менее, я быстро взглянул на документацию Джерси 1.18, и это действительно старый! Я не думаю, что вы можете сделать это так же в Джерси 1.18. Я предполагаю, что единственный способ - добавить фильтр на уровне tomcat, если аутентификация в порядке, вы передаете запрос на Джерси, если не вернешь код ошибки. Надеюсь, поможет.

Смежные вопросы