У меня есть сервис Spring-WS с помощью PayloadRootAnnotationMethodEndpointMapping
, которая имеет несколько перехватчиков:Spring-WS SecurityInterceptor уровень работы
<bean class="org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping">
<property name="interceptors">
<list>
<ref local="loggingInterceptor"/>
<ref local="validatingInterceptor"/>
<ref local="securityInterceptor"/>
</list>
</property>
</bean>
Мой securityIntercetor
является Wss4jSecurityInterceptor
перехватчик.
Все работает нормально, за исключением того, что securityIntercetor
находится на уровне @Endpoint
, я хочу, чтобы он находился на @PayloadRoot
(операция).
То, как я аутентифицирую пользователей, использует UsernameToken
, тогда я иду против LDAP и получаю роли и в зависимости от роли, которую я хочу разрешить/запретить пользователю выполнять операцию.
Я предполагаю, что для этого не существует готового решения.
Так что мой вопрос: как в securityIntercetor
я могу получить, какую операцию вызывается, поэтому я могу проверить в зависимости от моих настроек, чтобы разрешить или не выполнить конкретную операцию.
Возможно, у вас есть другие идеи.
Спасибо.