java - 我可以从 Java EE webapp 使用 Windows 身份验证连接到 SQL Server 吗?

标签 java sql-server tomcat jdbc jakarta-ee

我目前正在研究如何使用 Windows 身份验证而不是 SQL Server 身份验证从我的 Java EE Web 应用程序连接到 SQL Server 数据库。我在 Tomcat 6.0 上运行这个应用程序,并且正在使用 Microsoft JDBC 驱动程序。我的连接属性文件如下所示:

dbDriver              = com.microsoft.sqlserver.jdbc.SQLServerDriver
dbUser                = user
dbPass                = password
dbServer              = localhost:1433;databaseName=testDb
dbUrl                 = jdbc:sqlserver://localhost:1433

在使用 SQL Server 身份验证时,以这种方式连接到 SQL Server 数据库的问题为零。

有什么方法可以检索用户的 Windows 身份验证凭据并将 that 身份验证用于 SQL Server?

更新:我知道在 ASP.net 中有一种方法可以设置 Windows 身份验证以访问 webapp,这正是我正在寻找的,除了我想传递那个 token 到 SQL Server 以访问数据库。

最佳答案

我不认为可以将用户凭据从浏览器推送到数据库(这有意义吗?我认为没有)

但是如果您想使用运行 Tomcat 的用户的凭据连接到 SQL Server,那么您可以使用 Microsoft 的 JDBC 驱动程序。 只需像这样构建您的 JDBC URL:

jdbc:sqlserver://localhost;integratedSecurity=true;

并将相应的DLL复制到Tomcat的bin目录(驱动提供的sqljdbc_auth.dll)

MSDN > Connecting to SQL Server with the JDBC Driver > Building the Connection URL

关于java - 我可以从 Java EE webapp 使用 Windows 身份验证连接到 SQL Server 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/167464/

相关文章:

java - 用泛型实例化抽象类的对象

java - JVM 使用 JOGL、顶点缓冲区对象并尝试在 finalize 方法中释放 vbo 时崩溃

java - 多任务运行器算法性能不佳

c# - 从 RESTORE LABELONLY 操作中检索值

sql-server - Django ProgrammingError [42S02] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server] 无效的对象名称

java - 如何在 Spring 中映射请求参数?

mysql - Tomcat 8、HikariCP、Hibernate 和 MySQL

java - 如何远程调用 RESTful web 服务

java - 无法在 linux 服务器上的 tomcat 6.0.24 中部署 war

sql - 将 NTEXT 列与常量值进行比较的正确方法是什么?