1.Spring Security SAML 简介

1.简介

1.1本手册涵盖的内容

本手册介绍了Spring Security SAML Extension组件,其使用,安装,配置,设计和集成的可能性。

1.2何时使用Spring Security SAML Extension

该扩展使新的和现有的应用程序能够在基于SAML 2.0协议的Web单一登录和单一登出配置文件的联合中充当服务提供者。该扩展允许在单个应用程序中无缝组合SAML 2.0和其他身份验证和联合机制。所有在身份提供商模式下支持SAML 2.0的产品(例如ADFS,Okta,Shibboleth,OpenAM,Efecte EIM或Ping Federate)都可以与扩展一起使用。

该扩展还可以用于主要不使用Spring Security保护的应用程序。它可以适用于单租户和多租户环境。

扩展可以嵌入到应用程序中,也可以与其他身份验证或单点登录机制一起使用,也可以单独部署,并使用自定义机制将身份验证信息传递给应用程序。

该扩展可能是最完整的开源SAML 2.0 SP实现,具有最广泛的功能集和配置可能性。其他Java开源替代品是例如与来自Shibboleth的IIS或Apache集成的本机SAML服务提供商(SAML处理在Web服务器上而不是在应用程序级别上完成)或OpenAM Fedlet。

1.3功能和支持的配置文件

当前的实现应符合SAML SP Lite和SAML电子政务配置文件。以下配置文件,绑定和功能作为产品的一部分得到支持:

  • Web单点登录配置文件
  • Web单点登录持有人密钥配置文件
  • IDP和SP初始化单点登录
  • 单一注销配置文件
  • 增强的客户/代理配置文件
  • 身份提供商发现配置文件和IDP选择
  • 元数据互操作性和PKIX信任管理
  • 自动服务提供商元数据生成
  • 从文件,URL,文件支持的URL加载元数据
  • 使用许多身份提供程序处理和自动重新加载元数据
  • 支持身份验证上下文
  • 记录身份验证事件
  • 自定义SP和IDP元数据
  • 使用UserDetails接口处理SAML属性和用户数据
  • 支持HTTP-POST,HTTP-Redirect,SOAP,PAOS和Artifact绑定
  • 使用Spring Security轻松集成应用程序
  • 带有用户界面的示例应用程序,用于快速配置

您可以使用以下支持的标准作为参考:

SAML 2.0基本配置文件

  • http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
  • http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf
  • http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf
  • http://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf
  • http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf
  • http://docs.oasis-open.org/security/saml/v2.0/saml-conformance-2.0-os.pdf

SAML 2.0其他配置文件

  • http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-holder-of-key-browser-sso.pdf
  • http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-idp-discovery.pdf
  • http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml2-holder-of-key.pdf
  • http://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop.pdf

电子政务简介

  • http://kantarainitiative.org/confluence/download/attachments/42139782/kantara-egov-saml2-profile-2.0.pdf

1.4要求

Spring Security SAML Extension至少需要Java 1.6,并且已知可与大多数Java容器和应用程序服务器一起使用。它也可以与PaaS提供商一起使用,例如Google App Engine,详情请参阅https://github.com/vschafer/spring-security-saml-gae

1.5源代码

该项目的源代码在Github上维护。

1.6构建

SpringSource存储库中提供了项目的快照构建 。我们使用Bamboo进行持续集成。

1.7许可证

该模块的源代码根据Apache许可证2.0版获得许可。您可以在http://www.apache.org/licenses/LICENSE-2.0上获取许可证的副本。

1.8问题跟踪

请使用Spring Security Extensions Jira提交错误和功能请求。补丁可以作为拉取请求直接发送到GitHub,但最好也打开一个Jira问题。

1.9捐款

请将您的拉动请求直接发送给GitHub,最好还在Jira中打开。

1.10商业支持

如需商业支持和咨询服务,请联系sales@v7security.com

1.11社区支持

如需社区支持,请使用Stack Overflow。在春季安全论坛包含一些以前回答问题,但现在处于只读模式。

1.12依赖性

OpenSAML 处理SAML消息的内部处理,编组和解组

Spring SAML对库not-yet-commons-ssl具有传递依赖性。在Spring SAML内部,此库仅用于主机名验证,并在OpenSAML删除依赖项时将被删除。


(1)