我想知道如何在 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)。
添加回答
举报
0/150
提交
取消