Весенняя безопасность и удаленное взаимодействие

#spring #spring-security #spring-remoting

#spring #spring-безопасность #spring-удаленное взаимодействие

Вопрос:

я использую Spring remoting вместе с Spring security, у меня есть 2 сервера (назовем их «front» и «back») «Передний» сервер открыт для внешнего мира и получает вместе с остальной частью запроса заголовок «Авторизация». Однако я замечаю, что когда я использую spring remoting для вызова «back», этот заголовок не копируется. Что мне делать? Кстати, я еще не проверял это, но я почти уверен, что это не будет работать и для «JSESSIONID».. что мне нужно сделать, чтобы распространить эти 2 заголовка?

Комментарии:

1. Что это за серверы? Используете ли вы общий Apache Tomcat как «передний» и «задний» или что-то еще?

Ответ №1:

Если вы используете Spring-Remoting, тогда spring-security-remoting на помощь! Этот модуль содержит несколько фабрик запросов и исполнителей, которые обогащают запросы контекстом безопасности.

Для RMI: http://static.springsource.org/spring-security/site/apidocs/org/springframework/security/remoting/rmi/package-summary.html

Для HTTP: http://static.springsource.org/spring-security/site/apidocs/org/springframework/security/remoting/httpinvoker/package-summary.html

Комментарии:

1. Я посмотрел это. однако, похоже, этот класс был удален в spring security 3. есть ли какая-либо альтернатива?

2. Он все еще там, но в отдельной БАНКЕ: repo1.maven.org/maven2/org/springframework/security /…

3. Спасибо за ответ. Но это решение не допускает объединения в пул соединений, в котором я нуждаюсь. Есть ли пример, который наследуется от CommonsHttp… Исполнитель?

4. Вы можете просто просмотреть код AuthenticationSimpleHttpInvokerRequestExecutor и скопировать поведение CommonsHttp...Executor , чтобы настроить запрос с текущим контекстом безопасности. См . svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src /… для примера.