0

Мы сконфигурировали tomcat для работы с аутентификацией Windows с использованием кеберосов (мы хотим SSO).
С другой клиентской машины через Internet Explorer мы отправляем HTTP Get, браузер возвращает 401, а заголовок - Negotiate.
Мы настроили Internet Explorer для использования встроенной безопасности и добавили адрес сайта tomcat в качестве локальной интрасети.Tomcat internet explorer kerberos authentication 401 un authorized

На бревнах TOMCAT я вижу:

Loaded from Java config 
>>> KdcAccessibility: reset 
>>> KrbCreds found the default ticket granting ticket in credential cache. 
>>> Obtained TGT from LSA: Credentials: 
    [email protected] 
    server=krbtgt/[email protected] 
    authTime=20160111063609Z 
    startTime=20160111063609Z 
    endTime=20160111163609Z 
    renewTill=null 
    flags=INITIAL;PRE-AUTHENT 
    EType (skey)=17 
    (tkt key)=18 
    Search Subject for SPNEGO ACCEPT cred (<<DEF>>, sun.security.jgss.spnego.SpNegoCredElement) 
Search Subject for Kerberos V5 ACCEPT cred (<<DEF>>, sun.security.jgss.krb5.Krb5AcceptCredential) 
Found ticket for [email protected] to go to krbtgt/[email protected] expiring on Mon Jan 11 18:36:09 IST 2016 

Что может быть проблема? Это проблема интернет-исследователя? или, может быть, проблема с кошкой?

+0

Вы проверили с помощью трассировки HTTP (например, плагин liveHTTPHeaders), который браузер отправляет обратно заголовок запроса «Авторизация». «TGT», видимый в журналах, используется самим Tomcat ... см. Ваш другой пост –

+0

Не могли бы вы показать нам свой файл/настройки login.conf? https://docs.oracle.com/javase/7/docs/jre/api/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule.html – greenmarker

+0

Что-то не так правильно, исходя из вашего вывода. Tomcat должен либо использовать keytab для учетной записи компьютера, либо использовать кэш учетных данных учетной записи компьютера, если он работает в Windows. В файлах журналов ничего не происходит. Если вы не увидите исключение и больше выходных данных журнала, вам будет невозможно помочь. –

ответ

1

Клиент и сервер Tomcat, похоже, находятся в разных областях Kerberos (предполагается, что они будут контролироваться Active Directory из-за того, как вы отметили свое сообщение). То есть клиент домена Active Directory находится в MY.DOM, но сервер Tomcat в NIA.DOM. Чтобы это работало так, как вы ожидаете, они должны быть в том же домене AD/Kerberos. Согласно журнала сниппета, клиент и KDC показать в той же сфере - MY.DOM - в соответствии с этим:

>>> Obtained TGT from LSA: Credentials: 
    [email protected] 
    server=krbtgt/[email protected] 

Но сервер Tomcat не должно быть, потому что, кажется, просить клиента для направления билет из области Kerberos NIA.DOM.

Found ticket for [email protected] to go to krbtgt/[email protected] expiring on Mon Jan 11 18:36:09 IST 2016 

Изучение доверительных отношений AD между MY.DOM и NIA.DOM и убедитесь, что она двухсторонняя и не сломаны.