使用Active Directory用户主体名称进行Java Kerberos身份验证

时间:2015-12-21 14:35:02

标签: java authentication kerberos jaas

我尝试从简单LDAP身份验证切换到GSSAPI身份验证。

我在设置用户名Krb5LoginModule时使用UPN执行身份验证,其中user@suffix看起来像principal@realm,后缀不是域名。

身份验证失败,因为Krb5LoginModule假定名称格式为UPN

有没有选项可以将包含@的用户名传递给Krb5LoginModule,这样它就会使用完整的用户名而不从用户名中提取域名?

使用sAMAccountName有效,但我没有用户的sAMAccountName但是没有UPN。

用户登录Windows使用KRB5-NT-ENTERPRISE-PRINCIPAL工作,我在网络捕获中看到的唯一区别是,在Windows登录名称类型中使用KerberosStringUPN包含完整{ {1}}名称与KRB5-NT-PRINCIPALKerberosString相反,并且由Java发送了截断的UPN名称。

1 个答案:

答案 0 :(得分:2)

你做不到。 Java不支持企业主体(类型10)(主要规范化)。 MIT Kerberos有。你运气不好。