2016-01-30 5 views
0

Мы разрабатываем распределенную систему с шестью различными развернутыми артефактами, где каждый из них имеет свой собственный REST API. Эти системы взаимодействуют через Java-клиент друг с другом через безопасное SSL-соединение (с аутентификацией клиента X509 с помощью Apache shiro).Apache HttpClient cooke отклонен

Теперь на каждом клиентском вызове к ресурсу REST мы получаем следующее предупреждение (я отключился части предупреждения со звездами):

WARN org.apache.http.client.protocol.ResponseProcessCookies.processCookies(ResponseProcessCookies.java:127): Cookie rejected: "[version: 0][name: rememberMe][value: deleteMe][domain: local.****.net][path: /abc][expiry: Fri Jan 29 11:25:07 UTC 2016]". Illegal path attribute "/abc". Path of origin: "/***/backend/abc/v1/some/other/parts/of/resource" 

Теперь проблема заключается в том, что мы не устанавливаем куки клиенты и я не могу понять, где и как настроен файл cookie (или если я могу игнорировать предупреждение). Я думаю, что он коррелирует с конфигурацией Apache Shiro. Соответствующий печенье путь shiro.ini выглядит следующим образом:

cookie = org.apache.shiro.web.servlet.SimpleCookie 
cookie.name = ***cookie 
cookie.path =/

Я надеюсь, что вы можете мне помочь устранения предупреждения. Если вам нужны еще примеры кода, пожалуйста, дайте мне знать.

+0

Этот файл cookie находится в ответе, генерируемом сервером. По-видимому, сервер считает, что путь запроса - '/ abc/...', не подозревающий, что в реальный путь (известный клиенту) добавлен префикс. – ZhongYu

+0

Хорошо, но мы не установили никаких куки-файлов, я думаю, что этот набор файлов установлен на Сиро, и я не знаю, как исправить или заставить Сиро установить правильный путь. – smsnheck

ответ

0

Если вы пытаетесь заменить существующую конфигурацию печенья с одной вы определили это должно работать:

securityManager.sessionManager.sessionIdCookie = $cookie 

Или, если вы хотите, вы можете отключить куки в целом:

securityManager.sessionManager.sessionIdCookieEnabled = false