带有Tomcat错误的SPNEGO:GSSException:未在GSS-API级别上指定失败(机制级别:校验和失败)

Deb*_*Dey 5 tomcat spnego single-sign-on

我正在尝试将SPNEGO与Tomcat一起实现基于浏览器的单点登录。

我已按照这两页上的所有说明进行操作:

当我从Firefox或Chrome浏览器访问hello_spnego.jsp时,要求我输入用户名和密码,然后它完美地显示了我的用户名。像魅力一样运作。但是,当我尝试使用IE访问它时,出现此错误:

HTTP Status 500 - GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)

type Exception report

message GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)
Run Code Online (Sandbox Code Playgroud)

在尝试寻找解决方案时,我遇到了以下页面:http : //www.oracle.com/technetwork/articles/idm/weblogic-sso-kerberos-1619890.html

我按照页面下半部分的客户端配置说明进行操作。在那之后,所有三个浏览器(Chrome,Firefox和IE)都显示相同的错误,但是没有一个要求输入用户名和密码。

我已验证用于与KDC对话的帐户是否正常运行。另外,我在web.xml文件中指定了用户名和密码,因此没有单独的KeyTab文件。

出于诊断目的,这是我的krb5.conf和login.conf文件的内容:

krb5.conf

[libdefaults]
    default_realm = DEVID.LOCAL
    default_tkt_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac arcfour-hmac-md5
    default_tgs_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac arcfour-hmac-md5
    permitted_enctypes   = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac arcfour-hmac-md5

[realms]
    DEVID.LOCAL  = {
        kdc =  cdi-prod.devid.local 
        default_domain = DEVID.LOCAL 
}

[domain_realm]
    .DEVID.LOCAL = DEVID.LOCAL 
Run Code Online (Sandbox Code Playgroud)

login.conf

spnego-client {
    com.sun.security.auth.module.Krb5LoginModule required;
};

spnego-server {
    com.sun.security.auth.module.Krb5LoginModule required
    storeKey=true
    isInitiator=false;
};
Run Code Online (Sandbox Code Playgroud)

由于我没有keytab文件,因此login.conf文件中未提及该文件。

另外,由于我使用的是es256-cts加密,因此我在文件夹中添加了必需的JCE策略文件(http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.htmljre/lib/security的jdk。

仅供参考,我正在使用Tomcat 8和JDK 1.8。

我非常感谢您对这里发生的事情有所了解。如果您需要更多信息,请告诉我。提前致谢!

Sto*_*nov 0

我遇到了同样的问题,并在这篇文章中找到了答案:

...转到 IE 的高级设置(Internet 选项 > 高级选项卡)并禁用“启用集成 Windows 身份验证”复选框,此错误消失,并且我也可以在 IE 上看到登录用户的句柄。 。

在尝试此操作之前,恢复您按照 Oracle 文章进行操作后所做的任何更改。