我正在使用SQLJDBC使用JavaKerberos身份验证连接到MS-SQL。不幸的是,当我设置以下值时,SQLJDBC不会在src / main / resources中查找文件,而是期望文件在root中(在cloudhub / stand中失败但在studio中工作正常)
System.setProperty("sun.security.krb5.debug", "true");
System.setProperty("java.security.auth.login.config", "sqlserverJDBC.conf");
System.setProperty("java.security.krb5.conf", "krb5.conf");
需要帮助!!
由于 Naveen H
答案 0 :(得分:0)
您需要设置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
答案 1 :(得分:0)
感谢您的回复,这适用于anypoint studio。如果我在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);