我使用 kerberos (v1.0.1)身份验证开发了一个Web应用程序。
我的目标是通过Windows身份验证Active Directory(Windows Server 2008 R2)提供登录。
问题是浏览器发送到后端NTLM票证而不是Kerberos票证。 我使用wireshak来检查通信工作流程:
我在JAVA中开发的后端服务引发了以下异常:
GSSException: Defective token detected
编辑1:
第一个问题是我们使用IP生成SPN和KEYTAB。因此,我们以这种方式创建了keytab:
ktpass /out c:\keytab\myuser.keytab /mapuser myuser@company.com /princ HTTP/myuser.company.com@WELLD.CH /pass mypassword /ptype KRB5_NT_PRINCIPAL /crypto All
然后我们在DNS上添加了BE服务器
<ip_server> myuser.company.com
目前我们可以使用kerberos登录,BE(春季启动)成功验证了kerberos&#39;令牌,但我们无法使用KerberosLdapContextSource
下载用户信息,因此我们采用了一种解决方法并使用了DefaultSpringSecurityContextSource
Bean。
有人有任何想法或参考依赖吗?
由于