有没有办法将 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 的配置的引用,我们的注释配置将被调用。任何友好的建议或意见表示赞赏。
1 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
混合 Spring Web Security XML 和注解配置意味着同一个bean 实例,即,security:http
通过 XML 和 JavaConfig 进行配置。它将使用一些使用 XML 的拦截 URL 模式和使用 JavaConfig 的一些其他 Ant 匹配器来配置。但请注意,拦截 URL模式总是按照定义的顺序进行评估,并且匹配器也按顺序考虑。因此,Spring Security 只考虑 XML 配置并忽略 JavaConfig 配置,因为如果两者都考虑,它将没有任何 URL 定义的顺序感. 我找不到任何直接支持该理论的文档。如果您分享应用程序启动时产生的 Spring Boot 日志语句,我们可能会更好地了解 Spring Boot 正在做什么。
因此,我不认为在配置 Spring Web Security 时可以将 Spring Annotations 与 XML Configuration 混合使用,并建议将旧的 XML 配置迁移到 JavaConfig。
添加回答
举报
0/150
提交
取消