Может ли кто-нибудь помочь мне в коде соединения jdbc для аутентификации kerberos?Я написал код ниже, и я не уверен, что пропустил что-то важное.
String filePath = System.getProperty("user.dir")+File.separator+"KerberosConfDir";
System.out.println(filePath);
String connectionUrl = "jdbc:sqlserver://mymachine;databaseName=master;integratedSecurity=true;authenticationScheme=JavaKerberos";
Properties connProperties = new Properties();
//connProperties.put("serverSpn","MSSQLSvc/mymachine.mydomain.com:1433");
System.out.println("connectionUrl : "+connectionUrl);
Connection con = null;
System.setProperty("sun.security.krb5.debug", "true");
System.setProperty("java.security.auth.login.config", filePath+File.separator+"SQLJDBCDriver.config");
System.setProperty("java.security.krb5.conf", filePath+File.separator+"krb5.ini");
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("Loading the Driver....");
con = DriverManager.getConnection(connectionUrl);
System.out.println("Establishing the connection....");
DatabaseMetaData dbmd = con.getMetaData();
System.out.println("dbmd:driver version = " + dbmd.getDriverVersion());
System.out.println("dbmd:driver name = " + dbmd.getDriverName());
System.out.println("db name = " + dbmd.getDatabaseProductName());
System.out.println("db ver = " + dbmd.getDatabaseProductVersion());
}
catch (Exception e) {
e.printStackTrace();
}