Использование нескольких ключей в Kerberos JGSS без использования файла JAAS .conf
Я хочу использовать несколько ключей в нескольких потоках сервера. Я не хочу использовать файл conf JAAS, поэтому я реализовал свою собственную конфигурацию входа в систему в классе LoginConfiguration. Функция getGSSCredentials() в классе KerberosLogin используется для получения учетных данных, указав местоположение keytab в качестве параметра.
KerberosLogin -> http://ideone.com/vaip3H LoginConfiguration -> http://ideone.com/jDqlN0
Когда я запускал только два серверных потока, первый смог получить учетные данные из своей таблицы ключей (оба серверных потока используют разные субъекты службы), а второй потерпел неудачу. Как-то с помощью parms.put("refreshKrb5Config","true");
в LoginConfiguration решена проблема.
Я не могу понять, почему это не работает без обновления конфигурации, и для случаев, когда будет несколько таких серверных потоков, будет безопасно использовать. Есть ли лучший способ использовать несколько клавиш?
1 ответ
Это было связано с тем, как java6 обрабатывает конфигурацию входа в систему, это было исправлено в java7.