Код: Выделить всё
-Djava.security.krb5.conf=$SECURITY_KRB5_CONF -Djava.security.auth.login.config=$SECURITY_JAAS_CONFПоскольку я получаю файл keytab на лету, я не могу использовать JAAS Congf в качестве параметра JVM и вместо этого передавать параметры следующим образом в месте, где я пытаюсь получить соединение JDBC, но не рассматривает принцип, который прошел; Вместо этого он пытается аутентифицировать с системой, зарегистрированным пользователем@Realm. < /p>
Код: Выделить всё
if (authType.contains(AuthenticationType.KERBEROS.getAuthType())) {
String spn = userNAME
String keytabFile = ***
System.setProperty("java.security.krb5.conf", krb5ConfLocation);
System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");
System.setProperty("java.security.auth.login.module.spi", "com.sun.security.auth.module.Krb5LoginModule");
System.setProperty("principal", spn);
System.setProperty("javax.security.auth.login.config",keytabFile);
//System.setProperty("sun.security.krb5.debug", krb5Debug);
}
return connection = DriverManager.getConnection(jdbcURL,jdbcProps);
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... g-sql-thro