2010-07-26 2 views
0

У нас есть веб-служба Java 1.4, работающая на AIX 5. Мы хотим, чтобы методы веб-службы выполнялись в контексте вызывающего, а не хостинг-сервера. Как мы это сделаем?Выполнение Java Web Service в другом контексте

+0

Что вы имеете в виду под «контекстом звонящего»? –

+0

Вызывающий может передать имя пользователя/пароль, пройти проверку подлинности на сервере, а затем выполнить код в качестве этого вызывающего. – Kenoyer130

ответ

1

Вы должны иметь возможность выполнять аутентификацию JAAS (как обычное веб-приложение J2EE), в котором будут установлены принципы, связанные с объектом. Контейнер автоматически гарантирует, что текущий рабочий поток связан с идентифицированным объектом. Субъект и его участники также распространяются до уровня обслуживания/бизнеса, как в случае с нормальным сервлетом.

Возможно, было бы целесообразно определить функции безопасности веб-службы на базовом сервере приложений, так как это может предложить больше возможностей, чем базовая/дайджест/форма проверки подлинности, которая присутствует в JAAS. Например, WebLogic Server разрешает аутентификацию на основе сертификатов клиентов веб-сервисов (с определенной конфигурацией), и это может быть верно и для сервера приложений, который вы используете. Как правило, функции безопасности контейнеров будут работать поверх JAAS и соответствующих функций безопасности в J2EE 1.4, тем самым гарантируя, что функции безопасности J2EE, используемые в других разделах приложения, будут продолжать работать, как ожидалось.