当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《我可以使用JavaEEwebapp中的Windows身份验证连接到SQLServer吗?》经验,为你挑选了4个好方法。

我目前正在研究如何使用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身份验证以访问webapp,这正是我正在寻找的,除了我想将该令牌传递给SQL Server以访问数据库.



1> 小智..:

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

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

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

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

MSDN>使用JDBC驱动程序连接到SQL Server>构建连接URL


为什么不将用户凭据从浏览器推送到数据库有意义?我认为多跳认证完全是OP在这里寻找的东西.鉴于我在这个回复上迟了3年,但我想了解你的理由.

2> opensas..:

看着

http://jtds.sourceforge.net/faq.html#driverImplementation

jTDS使用的URL格式是什么?

jTDS的URL格式为:

jdbc:jtds:://[:][/][;=[;...]]

...域名指定Windows域进行身份验证.如果提供目前以及用户名和密码,JTDS使用Windows(NTLM)身份验证,而不是通常的SQL Server身份验证(即所提供的用户名和密码是域用户和密码).这允许非Windows客户端登录到仅配置为接受Windows身份验证的服务器.

如果域参数存在但没有提供用户名和密码,则jTDS使用其本机Single-Sign-On库并使用记录的Windows用户凭据登录(为此工作,显然需要在Windows上,登录到一个域,并且还安装了SSO库 - 请参阅README.SSO中的分发,了解如何执行此操作).



3> 小智..:

这实际上对我有用:

根据jtdsd发行版附带的README.SSO:

为了使单点登录正常工作,jTDS必须能够加载本机SPPI库ntlmauth.dll.将此DLL放在系统路径中的任何位置(由PATH系统变量定义),您就完成了所有设置.

我把它放在我的jre/bin文件夹中

我配置了一个专用于sql server实例(2302)的端口,以减少对实例名称的需求 - 就像我做的那样.lportal是我的数据库名称.

jdbc.default.url=jdbc:jtds:sqlserver://192.168.0.147:2302/lportal;useNTLMv2=true;domain=mydomain.local



4> Kevin Day..:

除非你有一些非常令人信服的理由,否则我建议放弃MS JDBC驱动程序.

相反,使用jtds jdbc驱动程序.阅读jtds发行版中的README.SSO文件,了解如何配置单点登录(本机身份验证)以及将本机DLL放在何处以确保它可以由JVM加载.


多年前,微软忽略了他们的Java驱动程序,而jTDS遭遇了泄密.如今,微软正在为官方Java驱动程序付出更多努力.我会将它们用于当前的应用程序.我认为现在没有理由使用jTDS,但我很长时间没有使用它们,所以我没有当前的经验.
推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有