首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以从Java EE webapp使用Windows身份验证连接到SQL Server?

是否可以从Java EE webapp使用Windows身份验证连接到SQL Server?
EN

Stack Overflow用户
提问于 2008-10-03 15:36:22
回答 5查看 202.2K关注 0票数 55

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

代码语言:javascript
复制
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的身份验证?

UPDATE:我知道在ASP.net中有一种方法可以设置访问webapp的Windows身份验证,这正是我正在寻找的,除非我想将该令牌传递给SQL Server以访问数据库。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-12-10 15:23:03

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

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

代码语言:javascript
复制
jdbc:sqlserver://localhost;integratedSecurity=true;

并将适当的DLL复制到Tomcat的bin目录(驱动程序附带的sqljdbc_auth.dll)中。

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

票数 77
EN

Stack Overflow用户

发布于 2009-04-29 06:29:11

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

jTDS使用的网址格式是什么?

jTDS的URL格式为:

代码语言:javascript
复制
jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]

..。域指定要在其中进行身份验证的Windows域。如果存在,并且提供了用户名和密码,jTDS将使用Windows (NTLM)身份验证,而不是通常的SQL Server身份验证(即,提供的用户和密码是域用户和密码)。这允许非Windows客户端登录到仅配置为接受Windows身份验证的服务器。

如果domain参数存在,但没有提供用户名和密码,jTDS将使用其本机单点登录库,并使用登录的Windows用户的凭据登录(为此,用户显然需要在Windows上,登录到域,并且安装了SSO库--请参考发行版中的README.SSO了解如何做到这一点)。

票数 26
EN

Stack Overflow用户

发布于 2012-01-12 22:42:43

这对我来说真的很有效:

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

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

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

我配置了一个专用于sql server实例(2302)的端口,以减少对实例名称的需求-这正是我所做的事情。lportal是我的数据库名称。

代码语言:javascript
复制
jdbc.default.url=jdbc:jtds:sqlserver://192.168.0.147:2302/lportal;useNTLMv2=true;domain=mydomain.local
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/167464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档