У меня есть java-сервер и клиентские приложения. Эти приложения работают на машинах Windows. Вход клиента на сервер с использованием аутентификации Kerberos. Это реализовано с помощью jgssapi.
Сначала клиент извлекает сохраненный кэшированный билет tgt из системы, чтобы сгенерировать токен из kdc. Проблема в том, что после блокировки сеанса пользователя в Windows (заблокировать экран или изменить пользователя) в системе нет кешированных билетов tgt (проверено C:\Windows\System32\klist.exe). И, как я понимаю, я могу получить их, просто выйдя из системы / войдя в систему пользователя на компьютере.
Эта проблема случилась со мной на клиентских машинах. После блокировки остается пустой список кэшированных билетов.
У меня в офисе не воспроизводится (клиенты с windows 7, сервер Active Directory на win server 2008). После блокировки у меня всегда есть НОВЫЕ ВОССТАНОВЛЕННЫЕ кэшированные билеты tgt на машине (не с работы до блокировки, но они были сгенерированы снова после разблокировки). Для этого поведения не установлен специальный объект групповой политики (вопрос об использовании билетов кэширования из предыдущего сеанса пользователя Кэшированный билет Kerboros удален после использования экрана блокировки Windows).
Вот я и не понимаю, почему система не регенерирует кешированные tgt после разлочки? Как это сделать?
Я нашел аналогичный вопрос здесь https://social.technet.microsoft.com/Forums/ie/en-US/be5ebc3b-d915-4acb-a9ae-67c61ee03b97/service-tickets-kerberos-purged-on-ctrlaltdel?forum=winserverDS&prof=required Один из ответов: «Прежде всего посмотрите, что у вас есть с klist, а затем заблокируйте и разблокируйте экран. Если у вас есть подключение к DC, вы получите служебный билет на ваш локальный хост, KDC и TGT, если у вас нет подключения, у вас ничего не будет».
Соединение с AD прошло успешно. Я могу пропинговать его. Я могу получить информацию, подключившись с помощью AD-explorer. Или подключение к ДК не то?
Спасибо.