将 Spring Annotations 与 XML Config 混合用于

有没有办法将 Spring Web Security 配置与注释和 xml 混合使用?

全文
对于我们遗留的 spring web 应用程序,我们正在研究使用注释驱动的配置来实现我们的部分 web 安全。

目前我们所有的网络安全 ( <security:http>) 都是由基于 xml 的配置驱动的。但是我们正在添加一个新的登录机制(SAML 2.0),它似乎比通过 xml 更容易通过注释进行配置。

我们一直在尝试混合使用注释和 xml,但似乎只有其中一种有效。这意味着当任何基于 xml 的 web 安全被引用时,无论是通过 xml (<import resource="classpath:web-security.xml"/>或通过@ImportResource注释,基于注释的 web 安全都会被忽略。

如果我们删除对基于 xml 的配置的引用,我们的注释配置将被调用。

任何友好的建议或意见表示赞赏。


素胚勾勒不出你
浏览 143回答 1
1回答

潇湘沐

混合 Spring Web Security XML 和注解配置意味着同一个bean 实例,即,security:http通过 XML 和 JavaConfig 进行配置。它将使用一些使用 XML 的拦截 URL 模式和使用 JavaConfig 的一些其他 Ant 匹配器来配置。但请注意,拦截 URL模式总是按照定义的顺序进行评估,并且匹配器也按顺序考虑。因此,Spring Security 只考虑 XML 配置并忽略 JavaConfig 配置,因为如果两者都考虑,它将没有任何 URL 定义的顺序感.&nbsp;我找不到任何直接支持该理论的文档。如果您分享应用程序启动时产生的 Spring Boot 日志语句,我们可能会更好地了解 Spring Boot 正在做什么。因此,我不认为在配置 Spring Web Security 时可以将 Spring Annotations 与 XML Configuration 混合使用,并建议将旧的 XML 配置迁移到 JavaConfig。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java