我目前正在研究如何使用 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/