Spring security spring security kerberos可以';你不读键盘吗?

Spring security spring security kerberos可以';你不读键盘吗?,spring-security,kerberos,spnego,Spring Security,Kerberos,Spnego,我正试着跟着 我有一个键表,其中有一个主体: ktutil: rkt http-web.keytab ktutil: l slot KVNO Principal ---- ---- --------------------------------------------------------------------- 1 3 HTTP/aulfeldt.hta.nightly@WAD.ENG.HYTRUST.COM 此密钥表是在win 2k8域控制器上使用以下命令生成的: k

我正试着跟着 我有一个键表,其中有一个主体:

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>
我已经尝试将web服务器(Centos 5.5,tomcat6)连接到AD WAD.ENG.HYTRUST.COM,并可以使用AD凭据登录,然后使用/etc/krb5.keytab中的主体来查看它是否可以读取。。。同样的回答。我还尝试了很多大写和小写的变体


ps今天早上从git上查看了它。

我也有同样的问题

问题在于“keyTabLocation”设置。 不能将其设置为/WEB-INF/http-WEB.keytab

您需要将其设置为文件路径或类路径上的某个内容

例如,我将文件放在类路径上,并进行以下设置:

    <property name="keyTabLocation" value="classpath:http-web.keytab" />

有几个错误导致“无法从用户处获取密码”:

  • 错误地指定了keytab文件的localation(就像@jasop一样 指出),;应该是这样的
    classpath:httpweb.keytab
    文件:c:/httpweb.keytab
  • 错误指定的主体名称(即 与实际的不匹配(为其生成了keytab文件)
  • keytab文件路径中的空格(请注意,如果曾经使用过,请确保 已修复),-在SpringSource博客条目的评论中看到投诉,并在我的开发环境(Windows 7/Java 6)中收到证据,-必须始终考虑绝对路径(即使类路径引用的keytab没有空格)

  • 在我的例子中,我提供了创建keytab时提供的用户名。你需要通过SPN考试。
        <property name="keyTabLocation" value="classpath:http-web.keytab" />