我对Kerberos身份验证了解不多,当我尝试时,无法在Windows for ActiveDirectoryIntegrated中使用Kerberos进行身份验证
System.setProperty("java.security.krb5.conf", "krb5.ini");
String connectionUrl = "jdbc:sqlserver://hostname:1433;Authentication=ActiveDirectoryIntegrated;database=testExistingDB"
+ ";authenticationScheme=JavaKerberos";
Connection con = driver.connect(connectionUrl, null);
Statement stmt = con.createStatement();
System.out.println(con.getMetaData().getDriverName());
获取以下错误和异常详细信息,
原因:java.util.concurrent.ExecutionException:com.microsoft.aad.adal4j.AuthenticationException:密码是com.microsoft.sqlserver.jdbc.SQLServerADAL4JUtils.getSqlFedAuthTokenIntegrated(SQLServerADAL4JUtils.java:113)上的托管用户所必需的...还有17个
有人能告诉我哪里有发行的吗?
我确实按照krb5.ini的文档生成了https://learn.microsoft.com/en-us/sql/connect/jdbc/using-kerberos-integrated-authentication-to-connect-to-sql-server?redirectedfrom=MSDN&view=sql-server-ver15
请注意,我可以进行基于DLL的AD集成身份验证,仅使用基于Kerberos的AD集成身份验证。如果有什么程序没有遵守,请告诉我。
1条答案
按热度按时间whhtz7ly1#
您尚未提供service_principal和keytab文件用于身份验证。