21

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

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

4

6 回答 6

22

你可以试试OpenSAML 项目;它提供了一个用于创建和验证 SAML 令牌的 Java 库。

于 2010-02-05T13:31:03.670 回答
7

你可以看看2个产品:

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

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

如果您要开发自己的 SAML2 服务提供者,那么使用 OpenSAML 是您的最佳选择。缺点是这个库没有很好的文档记录。不过,您应该很容易在网上找到一些有关 OpenSAML 的教程。
例如,您可以将其实现为 servlet 过滤器,这样您的应用程序代码就不会绑定到 SAML。

于 2011-09-04T08:12:09.197 回答
5

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

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

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

于 2011-07-27T18:44:52.223 回答
4

提供更多最新答案,因为有一段时间没有访问过:

如果您已经在做一个 Spring 项目,我已经在 Spring Security SAML 上取得了成功。您不必使用 Spring Security 保护您的应用程序即可使用 SAML 扩展,尽管它使它更容易一些。

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

于 2014-12-18T17:12:45.863 回答
1

http://www.softwareborsen.dk/projekter/softwarecenter/brugerstyring/oio-saml-java

于 2010-02-05T13:32:41.957 回答
-2

您需要的一切都在OpenSSO 站点上OpenAM作为它的继任者。

于 2010-02-23T04:18:43.197 回答