我正在尝试跟随this tutorial for spring-security-kerberos,我有一个密钥表,里面有一个主体:
ktutil: rkt http-web.keytab
ktutil: l
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 3 HTTP/aulfeldt.hta.nightly@WAD.ENG.HYTRUST.COM此密钥表是使用以下命令在win 2k8域控制器上生成的:
ktpass /out http-web.keytab /mapuser aulfeldt-hta-nightly@WAD.ENG.HYTRUST.COM /princ HTTP/aulfeldt.hta.nightly@WAD.ENG.HYTRUST.COM /pass *
这是在spnego.xml中使用的测试web服务器上复制的:
<bean class="org.springframework.security.extensions.kerberos.SunJaasKerberosTicketValidator">
<property name="servicePrincipal" value="HTTP/aulfeldt.hta.nightly@WAD.ENG.HYTRUST.COM" />
<property name="keyTabLocation" value="/WEB-INF/http-web.keytab" />
<property name="debug" value="true" />
</bean>但是找不到本金:
Key for the principal HTTP/aulfeldt.hta.nightly@WAD.ENG.HYTRUST.COM not available in
jndi:/localhost/spring-security-kerberos-sample-1.0.0.CI-SNAPSHOT/WEB-INF/http-web.keytab
[Krb5LoginModule] authentication failed
Unable to obtain password from user我已经尝试将web服务器(CentOS5.5,tomcat6)加入到AD WAD.ENG.HYTRUST.COM,可以使用AD凭据登录,然后使用/etc/krb5.keytab中的主体进行登录,看看是否可以读取...同样的反应。我还尝试了许多大写和小写名称的变体。
ps今早从git上查看了它。
发布于 2012-09-05 00:36:44
有几个错误导致“无法从用户处获取密码”:
classpath:http-web.keytab或file:c:/http-web.keytabl发布于 2012-03-06 14:40:52
我也有同样的问题。
问题出在你的"keyTabLocation“设置上。不能将其设置为/WEB-INF/http-web.keytab
您需要将其设置为文件路径或类路径上的某个值。
例如,我将我的文件放在类路径上,并进行了以下设置:
<property name="keyTabLocation" value="classpath:http-web.keytab" />https://stackoverflow.com/questions/6144097
复制相似问题