spnego总是提示密码

juzqafwq  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(260)

我的spnego配置似乎不起作用,总是在tomcat8中提示输入密码。
安装/配置spnego安装指南
我将库spnego-r9.jar添加到“tomcat\lib”文件夹中。还添加了.conf文件。这里是krb5.conf:

[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_ccache_name = KEYRING:persistent:%{uid}
udp_preference_limit = 1
default_realm=EXAMPLE.COM
default_tkt_enctypes = aes256-cts aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc aes256-cts- 
hmac-sha1-96 rc4-hmac
default_tgs_enctypes = aes256-cts aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc aes256-cts- 
hmac-sha1-96 rc4-hmac
permitted_enctypes =  aes256-cts aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc aes256-cts- 
hmac-sha1-96 rc4-hmac

[realms]
EXAMPLE.COM = {
    default_domain=example.com
    kdc=dc2.example.com:88
}

[domain_realm]
.example.com=EXAMPLE.COM
example.com=EXAMPLE.COM

然后将spnegohttpfilter添加到web.xml中。最后但并非最不重要的一点是,我联系了我们的管理员,并将以下内容添加到在spnegohttpfilter中注册的用户中

setspn.exe -A HTTP/ourserver01.example.com/projectXY exampleUser
setspn.exe -A HTTP/ourserver01/projectXY exampleUser

即使我的访问用户登录到example.com域,结果还是会出现密码提示。据我所知,这不应该发生。我登录到我们的服务器,发现它的域是一个工作区(在cmd中使用wmic computersystem get domain),这可能是一个问题,我将如何解决这个问题?
编辑:这里是第二个.conf文件:

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

spnego-server {
    com.sun.security.auth.module.Krb5LoginModule required
    storeKey=true
    isInitiator=false;
};
but5z9lq

but5z9lq1#

我通过wireshark检查了软件包,发现了未知的pricipalname错误。谢谢你的提示@samson scharfrichter
正确的spn注册是setspn.exe-一个没有项目本身的http/ourserver01.example.com exampleuser。

相关问题