У меня есть служба Spring-WS, использующая PayloadRootAnnotationMethodEndpointMapping
с несколькими перехватчиками:
<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
можно узнать, какая операция вызывается, чтобы я мог проверять, в зависимости от моих настроек, разрешать или нет выполнение определенной операции.
Или, может быть, у вас есть другие идеи.
Спасибо.