为什么Java中的kerberos身份验证不支持直接IP访问或主机别名访问



我的计算机(Windows, JDK7更新21 x64),如mybox.domain2.company.com,连接到我公司的一个域。我可以通过三个不同的url访问一个站点:

http://mysite.domain1.company.com

http://XXX.XXX.XXX.XXX(ip format)

http://mysitealias

在IE, Firefox等中通过协商认证。这里domain1.company.com和domain2.company.com是我公司的两个域名。此站点位于IIS 7中,其身份验证为"协商"。

在google搜索并配置kerberos之后,我可以使用java中的URLConnection来访问
http://mysite.domain1.company.com

。但是,我可以在浏览器中使用IP或主机别名来做到这一点,但在Java中不行。任何人都可以实现直接IP访问或主机别名访问吗?

krb5 . conf:

[libdefaults]
    default_realm = DOMAIN2.COMPANY.COM
    default_tkt_enctypes = des3-cbc-sha1 des-cbc-md5 des-cbc-crc
    default_tgs_enctypes = des3-cbc-sha1 des-cbc-md5 des-cbc-crc
[domain_realm]
    .domain1.company.com = DOMAIN1.COMPANY.COM
    .domain2.company.com = DOMAIN2.COMPANY.COM

login.conf:

com.sun.security.jgss.krb5.initiate {
    com.sun.security.auth.module.Krb5LoginModule required;
};

(请注意,所有主机名只是给出的例子)

Kerberos不是为处理IP地址而设计的。

相关内容

  • 没有找到相关文章

最新更新