我有以下项目结构:
基础项目(服务层、模型) web 项目 webservice 项目
其中 web 项目和 web 服务项目都依赖于基础项目并使用它提供的服务。
我大量使用 Spring 框架,这意味着服务是 Spring Bean,其方法由@Secured Annotation 和Spring Security 保护。我创建了一个Voter,扩展了检查客户端权限的 AbstractAclVoter。
Web 项目使用Spring MVC和带有 @Endpoint Annotations 和XwsSecurityInterceptor的 Web 服务项目Spring WS。
这是我的问题:
如果调用来自 Web 项目控制器或基础项目的 JUnit 测试,则检查权限,但未检查来自 Web 服务项目的请求是否具有正确的权限 - 我的Voter没有被调用!
- 这与XwsSecurityInterceptor 有关吗?
- 我是否也需要Web 服务项目中的DelegatingFilterProxy ?(我没有 ContextLoaderListener 因为一切都是由 MessageDispatcherServlet 配置配置的)