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