Как получить Kerberos TGS и использовать его в приложении с графическим интерфейсом на Java?
Я пытаюсь создать приложение с протоколом Keberos и GSS-API на Java, и я уже выполнил аутентификацию и установление контекста перед вызовом метода doAsPrivileged. В этом методе я получаю взаимную аутентификацию, отправляя простой токен с клиента на сервер, но после этого я хочу сделать некоторые другие вещи.
Я хочу открыть новое окно с таблицей продуктов, чтобы позволить клиенту выбрать их и купить что-нибудь, и это было связано с базой данных на сервере.
Мой вопрос о том, как можно использовать этот контекст в других фреймах, которые отличаются от исходного класса действий doAsPrivileged.
я получаю сообщение об ошибке GSSException: не предоставлены действительные учетные данные (уровень механизма: не удалось найти какой-либо Kerberos tgt), и я не знаю, как найти этот TGT для отправки его более одного раза на сервер.
благодарю вас.
1 ответ
Я столкнулся с подобной проблемой также.
Ваш код не выполняется, потому что Java пытается использовать GSSAPI с именем конфигурации по умолчанию для входа. Который com.sun.security.jgss.initiate
, Чтобы выполнить GSS-вызов для кого-то другого или с другим именем входа в систему, вы должны использовать LoginContext
, получить предмет, а затем сделать doAs
, Насколько я понимаю, каждое действие, связанное с обменом билетов, должно быть сделано в PrivilegedAction
если вы не придерживаетесь значений по умолчанию. Вот почему наши вещи терпят неудачу:-(