【问题标题】:Kerberos AuthenticationKerberos 身份验证
【发布时间】:2015-06-22 20:39:37
【问题描述】:

请解释什么、为什么以及如何进行 kerberos 身份验证。我正在使用弹簧 3+。 另外请详细说明如何在我的java spring项目中实现它。

【问题讨论】:

  • 尝试进一步研究,那里有大量文档。 Kerberos 也是一个广泛的主题。你想使用 Kerberos 来验证什么?

标签: java spring kerberos spring-security-kerberos


【解决方案1】:

Spring Security 有一个官方的 Kerberos 扩展:http://projects.spring.io/spring-security-kerberos/

第一步是为您的项目配置 Spring Security。尝试使用例如临时内存中的身份验证配置,使用一些硬编码的用户 - 只是为了检查配置的其余部分是否正常。

然后,继续添加 Kerberos 身份验证提供程序、配置 Spnego 配置等(所有内容都在文档中进行了描述)。

查看示例(使用基于 Java 的配置,但很容易将其转换为 XML 配置):https://github.com/spring-projects/spring-security-kerberos/blob/master/spring-security-kerberos-samples/

还有文档:http://docs.spring.io/spring-security-kerberos/docs/1.0.0.RC2/reference/htmlsingle/

【讨论】:

  • 这是简短而完美的答案。超级喜欢
  • 嗨 Martin 不知何故,我的 kerberos 调用了。但是现在我让 Kerberos 验证不成功。原因:GSSException:在 GSS-API 级别未指定失败。原因:KrbException 指定版本的密钥不可用。
  • 文档 (novell.com/support/kb/doc.php?id=7014802) 说:“错误是由存储在 Active Directory 中的服务主体用户和密钥表的密钥版本号不同引起的。这通常是通过重置服务主体来实现的用户密码”并且建议是重新生成密钥表文件。之后可能只是重试。
  • 同时检查这两个问题,可能会有所帮助:stackoverflow.com/questions/12517134/… & stackoverflow.com/questions/2973355/…
  • 嗨,马丁,我收到 GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag) 。请建议任何解决方法。我需要重新生成keytab吗?
【解决方案2】:

我试图在我的博客Kerberos 中解释 Kerberos 协议的内容和方式。请随时结帐。总结如下:

Kerberos 是为 TCP/IP 网络设计的基于对称加密的可信第三方身份验证协议。

Kerberos 使用安全令牌和安全会话密钥提供加密传输和身份验证,以保护客户端和服务器之间的通信。

kerberos 模型基本上由一个 kerberos 服务器组成,该服务器对客户端进行身份验证并提供安全令牌,以便与票证授予服务或 TGS 进行交互。然后,TGS 负责验证此客户端以访问实际服务器。

我已尝试在我的blog 中以图片和逐步的方式描述它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多