Sql server 使用windows身份验证从Spring启动应用程序连接到MSSQL

Sql server 使用windows身份验证从Spring启动应用程序连接到MSSQL,sql-server,windows,spring-boot,unix,Sql Server,Windows,Spring Boot,Unix,我目前正在使用以下属性从Java spring启动应用程序连接到远程Mssql服务器: spring.datasource.url=jdbc:sqlserver://ip\\domain;databaseName=name spring.datasource.username=abc spring.datasource.password=def spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriv

我目前正在使用以下属性从Java spring启动应用程序连接到远程Mssql服务器:

spring.datasource.url=jdbc:sqlserver://ip\\domain;databaseName=name
spring.datasource.username=abc
spring.datasource.password=def
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

该应用程序同时从windows和unix服务器运行。我现在需要开始使用windows身份验证而不是db凭据。MSSQL端已经配置并支持此功能。从JavaSpring引导来看,这不起作用。我试图添加到url:integratedSecurity=true,它说它找不到dll。我将sqljdbc_auth.dll添加到java jre bin文件夹中,但它不起作用

尝试使用jtds驱动程序,并在应用程序属性中使用:

    app.datasource.youraplication.jdbcUrl=jdbc:jtds:sqlserver://yourBdHost/yourSchemaBd;domain=yourDomain

我正在使用MS SQL Server 2016、Hibernate 5.3.7.Final和Spring bot 2.2.0。对我来说,将这一行添加到属性是有效的:(没有jtds!)

您可能还需要这些属性:

spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
如果您遇到“java.library.path中没有sqljdbc_auth”的问题。 您可以参考此答案。

从以下位置下载驱动程序:

将jar添加到项目右键单击project->Build Path->Configure Build Path->Libraries->Add External jar


将“integratedSecurity=true”添加到连接字符串中,并删除用户名和密码

您收到的任何错误??错误:域不受信任。我尝试使用kerberos,因为我将在unix上部署。我补充说:;integratedSecurity=true;authenticationScheme=JavaKerberos,然后在我添加的同一个spring引导属性文件中:-Djava.security.krb5.conf=krb5.conf。在conf文件中,我不确定要添加什么,所以我只添加了以下内容:default_realm=[domain name]dns\u lookup\u realm=false dns\u lookup\u kdc=false ticket\u life=24h forwardable=yes//这也不起作用。新错误表示在Kerberos数据库中找不到客户端。你能帮忙吗?服务器端是否缺少某些内容?@user666:您是否能够解决此问题?否,我当前正在使用DB凭据
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect