为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot 2 kerberos 身份验证

Spring Boot 2 kerberos 身份验证

慕桂英3389331 2021-06-25 18:02:31
我想知道如何在 Spring Boot 2.0 中使用 Spring Security Kerberos。我们目前正在尝试使 SPNEgo 过滤器工作。这是错误:o.s.s.k.w.a.SpnegoAuthenticationProcessingFilter : Negotiate Header was invalid: Negotiate YHoGBisGAQUFAqBwMG6gMDAuBgorBgEEAYI3AgIKBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICHqI6BDhOVExNU1NQAAEAAACXsgjiAwADADUAAAANAA0AKAAAAAYBsR0AAAAPSU5CT01WRDgxMTAzMURCRw==org.springframework.security.authentication.BadCredentialsException: GSSContext name of the context initiator is null    at org.springframework.security.kerberos.authentication.sun.SunJaasKerberosTicketValidator$KerberosValidateAction.run(SunJaasKerberosTicketValidator.java:173)    at org.springframework.security.kerberos.authentication.sun.SunJaasKerberosTicketValidator$KerberosValidateAction.run(SunJaasKerberosTicketValidator.java:153)    at java.security.AccessController.doPrivileged(Native Method)目前,我们仅尝试对单个端点 ( /protected)进行身份验证,但我们需要使用 kerberos 身份验证来保护所有端点。
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

Kerberos 服务主体设置不正确。现在它工作正常。

基本配置步骤:

1) Krb5 conf 应该正确加载(它包含 KDC 和领域相关信息)。

2) 必须创建服务主体 (HTTP/xyz),并且应提供密钥表作为配置。

3) 如果您通过客户端程序调用任何休息服务,那么您需要提供用户主体和密钥表,或者您可以使用本地 Kerberos 缓存 (krb5_123x)。


查看完整回答
反对 回复 2021-06-30
  • 1 回答
  • 0 关注
  • 541 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信