2010-02-05 152 views
17

我想写一个Web应用程序,它使用由身份提供商发布的SAML 2.0令牌进行身份验证。据我了解,根据这个question,在PHP世界中有一个可行的解决方案,使用simpleSAMLphp使用Java和SAML 2.0的Web SSO

Java世界中是否有等价的方法?容器或应用程序服务器是否有开箱即用的解决方案和/或教程?

回答

21

您可以尝试OpenSAML project;它提供了一个用于创建和验证SAML令牌的Java库。你需要

-1

一切都在OpenSSO site,与OpenAM,因为它的继任者。

+0

链接断开。来自wikipedia“OpenSSO *是一个开源的访问管理和联合服务器平台。” http://en.wikipedia.org/wiki/OpenSSO – 2012-12-05 10:32:59

5

最近为应用程序实现SAML身份验证后,我在OASIS SAML2技术概述文档中找到了最有用的信息。它非常易读,并且包含传递的XML消息的实例。

5.1节描述了将您的应用程序(服务提供者或SP)请求身份验证与远程身份提供者(Idp)进行交互。

http://wiki.oasis-open.org/security/Saml2TechOverview

6

你可以在2个产品看一看:

两者都有一个相当令人印象深刻的功能列表,并提供了广泛的SSO代理列表。

代理方法的主要优点是您不必在应用程序中关心身份验证过程,因为它由代理和SSO基础结构处理。

如果您打算开发自己的SAML2服务提供程序,那么使用OpenSAML是一种方法。缺点是这个库没有很好的文档。不过,您应该可以在Web上轻松找到OpenSAML上的一些教程。
您可以将其实现为例如servlet过滤器,以便您的应用程序代码不受限于SAML。

4

,因为这并没有在一个访问的同时提供更多最新的答案:

如果你正在做的已经我已经成功使用Spring Security SAML弹簧项目。您不必使用Spring Security来保护您的应用程序以使用SAML扩展,尽管它使它更容易一些。

http://projects.spring.io/spring-security-saml/