1

我的意图是使用 PicketLink 实现类似于 Atlassian 在Crowd中所做的事情。

更详细地说,我希望单个 PicketLink 实例为多个 Java EE 应用程序提供身份验证、授权、SSO 和 IdM 服务。这里的重点是为 JPA/LDAP 配置、自定义 IdM 模型和自定义身份验证器提供一个位置(以上所有内容将在客户端应用程序之间共享)。

据我从文档中了解到,PicketLink 并没有提供开箱即用的功能。我会想象客户端应用程序使用 PicketLink API,但实际调用通过 RMI/Hessian/REST 等代理来掌握 PicketLink 实例。我将不胜感激任何专家对这种架构是否可行的意见,以及任何其他批评和建议。

4

1 回答 1

2

您正在寻找SAML

SAML 是一种基于 XML 的开放标准数据格式,用于在各方之间交换身份验证和授权数据,特别是在身份提供者和服务提供者之间。

PicketLink 支持 SAML

您可以创建充当身份提供者的 PicktLink 实例(基本上是 JavaEE 应用程序)。此实例将是“...... JPA/LDAP 配置、自定义 IdM 模型和自定义身份验证器的单一位置”。其他 JavaEE 应用程序将充当服务提供者。这些应用程序可以使用身份提供者提供的基于 SAML 的身份服务:

SAML

一些备注:

  • 您可以使用开源或专有身份提供程序,例如shibboleth
  • SAML 使用 HTTP 作为底层协议
  • SAML 或多或少是通用的。各种技术都可以使用 SAML。您不仅限于 Java。
  • 从安全的角度来看,最好使用众所周知的、成熟的技术,而不是自己编写。SAML 是众所周知的。但是编写自己的身份提供者是有风险的。
于 2015-05-31T06:15:48.100 回答