5

我目前正致力于在我们的 Java Web 应用程序中实现企业身份验证机制,包括单点登录。Windows 网络是我们的主要目标,而 Kerberos 听起来是一个合理的选择。旁注:据我了解,Web(HTTP)环境中使用的 SSO 协议是 SPNEGO,它基本上是 Kerberos 的包装器。因此,听起来 Kerberos HTTP SSO 库实际上正在使用 SPNEGO——如果我错了,请纠正我。

当我开始研究这个话题时,我意识到没有明显的选择。让我列出这些:

  1. Spring 安全 Kerberos/SPNEGO 扩展。这是我第一次看到(因为我们已经在使用 Spring 安全性),但几年前它似乎停留在 v1.0.0 的第二个里程碑。只有这个SO question略微希望它可以用于生产。
  2. WAFFLE - Windows 身份验证功能框架。似乎很活跃,功能丰富。它可以“插入”为通用 servlet,也可以作为Spring 安全过滤器
  3. SPNEGO SourceForge。看起来很轻量级,提供HTTP Servlet过滤器,教程很容易上手。

选择一个选项而不是另一个选项有什么特别的理由吗?周围还有其他选择吗?

4

1 回答 1

3

首先,你的假设是正确的。您需要 SPNEGO 才能使用 HTTP 执行 SSO。

  1. 这只能在 Spring 中合理使用。如果你有它,就得到它。我们使用它超过两年。做它的工作。
  2. 这仅适用于 Windows。
  3. 使用与 Spring 相同的 JGSS,但与框架无关。这似乎工作得很好。

如果您使用的是 Tomcat 7,则已经有内置支持。我已经捐赠了适当的代码。你应该明确你的期望。如果您没有期望,但身份验证使用 3 或 1 和 Spring。

于 2012-07-28T06:41:24.987 回答