我正在使用SAML在网页中添加SSO代码。为此,我为Maven添加了以下代码。
<!-- Spring Framework Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-config -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- Spring Security SAML -->
<dependency>
<groupId>org.springframework.security.extensions</groupId>
<artifactId>spring-security-saml2-core</artifactId>
<version>1.0.2.RELEASE</version>
</dependency>
然后我在应用程序上下文xml中添加了以下代码。
<!-- Initialization of OpenSAML library -->
<bean class="org.springframework.security.saml.SAMLBootstrap" />
但是我收到以下错误
org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 类中定义的“ org.springframework.security.saml.SAMLBootstrap#0” 路径资源[conf / spring / root-context.xml]:bean的实例化 失败嵌套异常为 org.springframework.beans.BeanInstantiationException:失败 实例化[org.springframework.security.saml.SAMLBootstrap]:否 找到默认构造函数;嵌套异常为 java.lang.NoClassDefFoundError: org / springframework / beans / factory / access / BootstrapException
似乎缺少了一些罐子。如何添加这个罐子?
谢谢 Jae Kim
答案 0 :(得分:1)
底线是:更新至1.0.3.RELEASE解决了该问题。
说明:类System.getRuntime().exec()
抛出(第45行)SAMLBootstrap
,该类存在于spring-4(spring-beans-4.2.4.RELEASE)中,但在spring中不存在-5。
在spring-security-saml2-core-1.0.3.RELEASE中,类BootstrapException
中的依赖项已删除。
答案 1 :(得分:0)