gpt4 book ai didi

java - Spring-WS SecurityInterceptor操作级别

转载 作者:行者123 更新时间:2023-12-01 16:01:58 24 4
gpt4 key购买 nike

我有一个使用 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 中获取该方法是由我的第一个拦截器创建的。

关于java - Spring-WS SecurityInterceptor操作级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3630056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com