spring security web身份验证和我们的maven多模块依赖层次结构存在问题

spring security web身份验证和我们的maven多模块依赖层次结构存在问题,maven,spring-security,multi-module,Maven,Spring Security,Multi Module,我们有一个复杂的maven依赖层次结构,其中单个web模块由父web模块持有。父web模块依赖于服务模块,而服务模块本身依赖于dao模块 我希望我的用户能够通过web进行身份验证。因此,我在web模块中放置了一个spring安全配置文件 我遇到的问题是,jdbc用户服务需要一个数据源,我不能从我的web.xml中直接从dao模块导入spring配置文件:它既不干净,也不可行,因为我需要web模块直接依赖dao模块 什么是最好的行动方案 我可以用maven创建一个独立的spring安全模块吗?我在

我们有一个复杂的maven依赖层次结构,其中单个web模块由父web模块持有。父web模块依赖于服务模块,而服务模块本身依赖于dao模块

我希望我的用户能够通过web进行身份验证。因此,我在web模块中放置了一个spring安全配置文件

我遇到的问题是,jdbc用户服务需要一个数据源,我不能从我的web.xml中直接从dao模块导入spring配置文件:它既不干净,也不可行,因为我需要web模块直接依赖dao模块

什么是最好的行动方案

我可以用maven创建一个独立的spring安全模块吗?我在网上没有找到任何关于这方面的线索文档

是否需要将与web相关的spring安全配置从身份验证提供程序/管理器/用户服务配置中分离?


任何线索或指针欢迎……

好的,我已经把你的问题读了好几遍了,我认为我的问题是对的。(如果我错了,请纠正我)。主要目标是保持分层完整,而不是引入从web到dao层的直接依赖关系

取决于服务层中的内容。您可以在那里实现一个API

  • 根据spring security提供的凭据对用户进行身份验证
  • 从服务层获取认证所需的用户详细信息,并在spring security中进行处理
这两种情况下,您可能是实现自己的最佳选择


让我知道这是你需要的还是我完全被误导了。还要询问您是否需要更多的指针来实现具体的实现。

通常,如果dao模块中有spring-datasource.xml,web模块中有security-context.xml,您可以导入spring-datasource.xml而不会出现问题(“”),即使模块之间存在间接依赖良好的点。。。但是,负责该应用程序的架构师已将所有模块中的所有spring配置文件命名为相同的名称,即“spring config.xml”,因此您建议的解决方案将从所有模块导入所有文件,这不是我想要的…您可以重命名它们并应用一些更合适的命名约定吗?我想,当您有多个同名的文件时,即使找到正确的文件来做一些更改也不是一件小事……即使我可以重命名配置文件,它仍然会创建web层对dao层的直接依赖,这应该避免。相反,您(或其他人)对如何创建一个单独的spring安全模块或执行我上面的问题中提到的拆分有任何线索吗?