我目前正在研究如何使用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身份验证的凭据并将 该 身份验证用于SQL Server?
更新 :我知道在ASP.net中有一种方法可以设置Windows身份验证来访问Web应用程序,这正是我要寻找的,除了我希望将该令牌传递给SQL Server来访问数据库。
我认为无法将用户凭据从浏览器推送到数据库(这有意义吗?我认为不是)
但是,如果要使用运行Tomcat的用户的凭据连接到SQL Server,则可以使用Microsoft的JDBC驱动程序。像这样构建您的JDBC URL:
jdbc:sqlserver://localhost;integratedSecurity=true;
并将适当的DLL复制到Tomcat的bin目录(驱动程序随附的sqljdbc_auth.dll)
MSDN>使用JDBC驱动程序连接到SQL Server>构建连接URL