无法使Spring SAML2正常工作

时间:2013-11-18 09:52:17

标签: spring saml-2.0 spring-saml

我似乎无法让saml2工作。这就是我所做的。

我从这里下载了示例应用程序:https://github.com/spring-projects/spring-security-saml,这是他们文档中的链接:http://docs.spring.io/spring-security-saml/docs/1.0.x/reference/html/chapter-quick-start.html

1)将示例应用程序'saml2-sample'转换为eclispe项目:mvn eclipse:eclipse

2)构建项目:mvn package

3)将“动态Web模块”方面添加到项目中:

  

右键点击项目>属性>项目方面

4)在STS服务器上运行应用程序:

  

右键点击项目>运行方式>在服务器上运行

服务器启动,控制台中的所有内容都显示正常,但网址HTTP Status 404 - /spring-security-saml2-sample/上的网址加载http://localhost:8080/spring-security-saml2-sample/

2 个答案:

答案 0 :(得分:0)

请按照以下步骤操作:

  • Github 下载 project 作为存档。
  • 解压缩档案。
  • 通过 STS / Eclipse File > Import > Existing Maven Projects并选择root dir {your_download_folder}/spring-security-saml-master/sample文件夹。

现在,您可能会看到以下错误:

err-1

err-2

  • 修正{strong> gist 中显示的pom.xml
  • 最后,您还可以修复MetadataController类(请注意某些方法在不同版本之间发生了变化)。

err-3

最简单的方法是删除该类,否则你应该手动修复它。

  • 最后,以webapp身份运行项目。

这就是全部!


基于注释的配置

如果您想使用基于注释的配置,可以看到以下配置: spring-boot-security-saml-sample

答案 1 :(得分:0)

尝试将Spring Framework依赖项更改为最新版本,如3.2.13或4.0.9。我能够使用这两个依赖项成功运行应用程序。此外,当您更新spring依赖项时,请确保将xsd版本更改为您使用的是spring版本“securityContext.xml”和“saml-servlet.xml”。 Fyi - 我在pom.xml文件中使用了以下版本

<properties>
        <junit.version>4.12</junit.version>
        <jsp-api-version>2.0</jsp-api-version>
        <spring.version>4.0.9.RELEASE</spring.version>
        <spring.security.version>3.2.5.RELEASE</spring.security.version>
        <spring-security-saml2-core-version>1.0.0.RELEASE</spring-security-saml2-core-version>
        <slf4j-log4j12-version>1.7.10</slf4j-log4j12-version>
        <jstl.version>1.2</jstl.version>
</properties>