Java Spring WS-SecurityInterceptor操作级别

Java Spring WS-SecurityInterceptor操作级别,java,web-services,spring,spring-security,spring-ws,Java,Web Services,Spring,Spring Security,Spring Ws,我有一个使用PayloadRootAnnotationMethodEndpointMapping的Spring WS服务,它有几个拦截器: <bean class="org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping"> <property name="interceptors"> <list>

我有一个使用
PayloadRootAnnotationMethodEndpointMapping
的Spring WS服务,它有几个拦截器:

<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
中获取调用的操作,以便根据设置检查是否允许执行特定操作

或者你有其他想法


谢谢。

这没有标准的方法

我所做的是创建了另一个拦截器(并将他放在被调用的拦截器列表的第一位),该拦截器将保存当前操作,然后当Spring命中我的安全拦截器时,我将从我的第一个拦截器创建的请求范围bean中获取该方法