Mule SQLJDBC Проверка подлинности JavaKerberos — проблема пути к классам

Я использую SQLJDBC для подключения к MS-SQL с использованием аутентификации JavaKerberos. К сожалению, когда я устанавливаю следующие значения, SQLJDBC не ищет файлы в src/main/resources, вместо этого он ожидает, что файлы будут в корне (что не работает в облачном хабе/автономно, но отлично работает в студии)

System.setProperty("sun.security.krb5.debug", "true"); System.setProperty("java.security.auth.login.config", "sqlserverJDBC.conf"); System.setProperty("java.security.krb5.conf", "krb5.conf"); Нужна помощь!!

Спасибо, Навин Х.


person Naveen Rayappa    schedule 03.07.2017    source источник


Ответы (2)


вам нужно будет установить путь (относительный или абсолютный) к файлу conf.

System.setProperty("java.security.krb5.conf", "src/main/resources/krb5.conf");

https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html

person Jake Morgan    schedule 04.07.2017

Спасибо за ответ, это работает в студии anypoint. Если я разверну то же самое в CloudHub или в автономном режиме, это не сработает.

У меня это работает со следующими изменениями.

File jaasFile = new File(classLoader.getResource(obj.getAppPropertyFile("sqlserverJDBC.conf.file")).getFile());
    String jaasConfigFilePath = jaasFile.getPath();
    System.out.println("sqlserverJDBC path : " + jaasConfigFilePath);
    obj.write(jaasConfigFilePath,strBuilder);
    System.setProperty("java.security.auth.login.config", jaasConfigFilePath);
person Naveen Rayappa    schedule 11.07.2017