2010-02-26 2 views
6

Недавно мы обновили наше приложение до Spring 3.0 и Spring Security 3.0. Помимо дополнительной работы, которую мы хотим сделать, это разделить бэкэнд с передней стороны по разным причинам. Мы планируем использовать прозрачное RMI-решение Spring для ознакомления наших сервисов с нашим интерфейсом. Тем не менее, способ, который сегодня разрабатывается, как спереди, так и сзади, зависит от весеннего SecurityContext для защиты сервисов и т. Д. От неавторизованных пользователей. Насколько я понимаю, SecurityContext для JVM? Если это правильно, как я могу эффективно использовать контекст с бэкэнд? Я бы предположил, что пропустил токен аутентификации на вызовах RMI, которые этого требуют?Spring Security в распределенном приложении

ответ

9

После этого работал с HTTP INVOKER Remoting Spring, я могу сказать, что там встроенную поддержку для передачи маркеров Spring безопасности. Я бы предположил, что решение RMI Spring также имеет эту функцию, но вам нужно будет копаться в классах RMI Spring/javadoc, чтобы подтвердить это.

На стороне клиента вам понадобится класс ContextPropagatingRemoteInvocationFactory, который автоматически включит контекст безопасности Spring при удаленном вызове.

+0

Вы правы. Я сделал поиск в справочнике весны и нашел, где они говорят, что нет прямой поддержки, но крюк существует. Поэтому я вырыл через java-документы и обнаружил, что ContextPropagatingRemoteInvocation Spring Security обеспечивает возможность вызова клиентом объекта аутентификации при удаленных вызовах. Сладкий, спасибо! – predhme

+0

так проголосовать за его ответ, пред –

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