【问题标题】:Saml2 Core upgrade fails when upgraded spring-security-saml2-core from 1.0.10.RELEASE to 2.0.0.M31将 spring-security-saml2-core 从 1.0.10.RELEASE 升级到 2.0.0.M31 时,Saml2 核心升级失败
【发布时间】:2021-11-02 13:02:48
【问题描述】:

我最近尝试将 saml2-core 从 1.0.10 升级到 2.0.0.M31。当我尝试构建项目时,它失败并出现许多“找不到符号”和“包不存在”异常。

[ERROR] /C:/restproject/restsecurity/restsaml2/src/main/java/security/entry/AbstractSaml2AuthEntryPoint.java:[33,99] cannot find symbol
  symbol:   class SAMLEntryPoint
  location: package org.springframework.security.saml
[ERROR] /C:/restproject/restsecurity/restsaml2/src/main/java/security/binding/RestHTTPArtifactEncoder.java:[35,46] cannot find symbol
  symbol: class BaseSAML2MessageEncoder
[ERROR] /C:/restproject/restsecurity/restsaml2/src/main/java/security/discovery/Saml2AuthDiscovery.java:[16,41] cannot find symbol
  symbol:   class SAMLDiscovery
  location: package org.springframework.security.saml
[ERROR] /C:/restproject/restsecurity/restsaml2/src/main/java/security/ticket/Saml2UserDetails.java:[33,34] cannot find symbol
  symbol:   class SAMLCredential
  location: package org.springframework.security.saml

当我比较两个版本的包结构时,结构和类是不同的,这就是它找不到所需类的原因。这些是什么替换类,或者是否引入了包含这些缺失类的任何其他新 jar。

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
  • 嗨,你解决了吗?我也有同样的问题。如果您有解决方案的页面,请分享。

标签: java spring saml saml-2.0 opensaml


【解决方案1】:

所以我发现这个问题正在寻找其他东西,但我想我可以在这里为您指出正确的方向。

所以在this commit 中,您可以看到您的错误提到的一些类。缺少符号的类已从项目中删除。

似乎它们已在 implementing OpenSAML 3.3 之后的“清理”提交中被删除到 version 2.0.0-M1 的 Spring SAML 扩展中。因此,如果您升级到 2.0.0-M1,我假设您会遇到相同的错误,您可以确认。

我假设您必须重新实现代码才能使用此版本的 Spring SAML 扩展 2.0.0-M31。虽然,您确实应该使用Spring security core SAML libraries 而不是扩展名,因为扩展名被认为是"end of life"。无论哪种方式,您都需要重新实现代码。

注意:我没有看到任何关于如何从版本 1.0.10 迁移到任何版本的 2.0 的文档或指南。在扩展 github 上有一个指南 here 的请求,在集成的 spring 安全核心 github 上有另一个 here 的请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2023-04-07
    • 2012-10-31
    • 1970-01-01
    相关资源
    最近更新 更多