最近我尝试将saml2 2内核从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。
发布于 2022-03-02 18:09:37
所以我发现这个问题是在寻找其他的东西,但我想我可以在这里指出正确的方向。
所以在此承诺中,您可以看到错误提到的一些类。缺少符号的类已从项目中删除。
在实施OpenSAML 3.3进入版本2.0.0-M1的spring扩展之后,它们似乎在“清理”提交中被删除了。因此,如果您升级到2.0.0-M1,我假设您会得到相同的错误,您可以确认。
我假设您必须重新实现代码,才能使用Spring扩展2.0.0-M31的这个版本。尽管如此,您确实应该使用Spring安全核心SAML库,而不是扩展,因为扩展被认为是“生命的终结”。无论哪种方式,您都需要重新实现代码。
注意:我没有看到任何关于如何从1.0.10版本迁移到2.0版本的文档或指南。有一个关于扩展github的指南这里和集成的spring安全核心github的另一个这里的请求。
https://stackoverflow.com/questions/69810956
复制相似问题