2013-05-30 9 views
0

Мой компьютер (Windows, JDK7 update 21 x64), такой как mybox.domain2.company.com, подключен к домену моей компании. Я могу получить доступ к сайту в трех различных сайтах:Почему аутентификация Kerberos в Java не поддерживает прямой доступ к IP или доступ к псевдониму хоста

http://mysite.domain1.company.com 

или

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

или

http://mysitealias 

через переговоры аутентификации в IE, Firefox и т.д. Здесь domain1.company.com и domain2.company.com - это два домена в моей компании. Этот сайт размещен в IIS 7, а его аутентификация - «Negotiate».

После прибегая к помощи и настройки Kerberos, я могу использовать URLConnection в Java, чтобы получить доступ к

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; 
}; 

(. Пожалуйста, обратите внимание, все имена хостов просто выдаются, например)

ответ

1

Kerberos не предназначена для работы по IP-адресам. Придерживайтесь только имен хостов.

+0

Возможно, это возможно, но 1. Браузеры могут получить доступ к странице через переговоры IIS. Я хочу знать, как браузеры справляются с этим. 2. Даже если IP не поддерживается, а как насчет псевдонимов доменов? –

+0

Просто потому, что это переговоры. Если Kerberos терпит неудачу, браузер вернется к NTLM. –

+0

Я также думал, что может быть какое-то отступление. Но я думаю, что правильно обработал NTLM (можно получить доступ к другим сайтам NTLM), но сайт, о котором мы говорили, не может инициировать часть аутентификации ntlm моего кода. Поэтому, если мы сможем правильно справиться с этим, проблема будет решена. Спасибо за вашего гида. Можете ли вы дать дополнительную информацию о том, как отступить и справиться с этим на Java? –