Использование нескольких таблиц ключей в Kerberos JGSS без использования файла JAAS .conf

Я хочу использовать несколько таблиц ключей в нескольких потоках сервера. Я не хочу использовать файл конфигурации JAAS, поэтому я реализовал свою собственную конфигурацию входа в класс LoginConfiguration. Функция getGSSCredentials() в классе KerberosLogin используется для получения учетных данных, указав расположение keytab в качестве параметра.

KerberosLogin -> http://ideone.com/vaip3H LoginConfiguration -> http://ideone.com/jDqlN0

Когда я запустил только два потока сервера, первый смог получить учетные данные из своего keytab (оба потока сервера используют разные принципы службы), а второй не удалось. Каким-то образом использование parms.put("refreshKrb5Config","true"); в LoginConfiguration решило проблему.

Я не могу понять, почему он не работает без обновления конфигурации, и в случаях, когда таких серверных потоков будет несколько, будет ли его безопасно использовать. Есть ли лучший способ использовать несколько вкладок?


person Cerberuz    schedule 13.03.2013    source источник


Ответы (1)


Это было связано с тем, как java6 обрабатывает конфигурацию входа в систему, это было исправлено в java7.

person Cerberuz    schedule 08.05.2013