我在Tomcat 7 webapp上设置了Spnego身份验证。它适用于Ubuntu 14.04和Windows 10用户。但是,使用Chrome / Firefox / IE的所有用户都会收到以下错误:
GSSException: Failure unspecified at GSS-API level (Mechanism level: Request is a replay (34))
我无法确定这个的根本原因。如何调试此问题,因为它特定于Windows 7用户?
答案 0 :(得分:1)
检查您的服务器和客户端是否同步其时钟。
答案 1 :(得分:1)
当我通过令牌时,我遇到了这个问题,令牌生成一次,并在标题中重复使用相同的令牌。
val tokenLoadedOnce = KrbHttpClient.token get.addHeader(" Authorization", s"谈判$ tokenLoadedOnce")
相反,当我生成令牌EVERYTIME并添加到标头时,此问题已得到解决。
get.addHeader(" Authorization",s" Negotiate $ {KrbHttpClient.token}")
答案 2 :(得分:0)
就我而言,当我使用Solr时,会触发此异常。 然后我对Solrconfig.xml进行了更改以支持Kerberos。
<directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory">
<str name="solr.hdfs.home">hdfs://nas.XYZ.lan:8020/user/solr</str>
<bool name="solr.hdfs.blockcache.enabled">true</bool>
<int name="solr.hdfs.blockcache.slab.count">1</int>
<bool name="solr.hdfs.blockcache.direct.memory.allocation">true</bool>
<int name="solr.hdfs.blockcache.blocksperbank">16384</int>
<bool name="solr.hdfs.blockcache.read.enabled">true</bool>
<bool name="solr.hdfs.nrtcachingdirectory.enable">true</bool>
<int name="solr.hdfs.nrtcachingdirectory.maxmergesizemb">16</int>
<int name="solr.hdfs.nrtcachingdirectory.maxcachedmb">192</int>
<bool name="solr.hdfs.security.kerberos.enabled">true</bool>
<str name="solr.hdfs.security.kerberos.keytabfile">/etc/krb5.keytab</str>
<str name="solr.hdfs.security.kerberos.principal">solr/admin@KERBEROS.COM</str>
</directoryFactory>