【问题标题】:Issue with spring security web authentication and our maven multi module dependency hierarchySpring Security Web 身份验证和我们的 Maven 多模块依赖层次结构的问题
【发布时间】:2013-06-03 09:18:18
【问题描述】:

我们有一个复杂的 maven 依赖层次结构,我们的各个 Web 模块由 父 Web 模块持有。父 web 模块依赖于一个 service 模块,它本身依赖于一个 dao 模块

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

我遇到的问题是 jdbc-user-service 需要一个数据源,我不能只从我的 web.xml 中的 dao 模块导入 spring 配置文件:它不干净甚至不可行 因为我需要 web 模块直接依赖于 dao 模块...

最好的做法是什么?

我可以使用 maven 创建单独且独立的 spring 安全模块吗?我没有在网络上找到任何关于此线索的文档。

是否需要从身份验证提供者/管理器/用户服务配置中拆分出与 Web 相关的 Spring Security 配置?

任何线索或指针欢迎...

【问题讨论】:

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

标签: maven spring-security multi-module


【解决方案1】:

好的,所以我已经仔细阅读了您的问题几次,并认为我的问题是正确的。 (如果我错了,请纠正我)。主要目标是保持分层不变,而不是从 web 引入到 dao 层的直接依赖关系?

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

  • 根据 Spring Security 提供的凭据对用户进行身份验证
  • 从服务层获取身份验证所需的用户详细信息,并在 Spring Security 中处理它们

这两种情况你可能最好实现自己的Authenticaton Provider

如果这是您需要的,或者我完全被误导了,请告诉我。还要询问您是否需要更多关于具体实现的指针。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 2012-12-01
    • 2016-12-22
    • 1970-01-01
    • 2018-07-02
    相关资源
    最近更新 更多