通过Windows身份验证连接到SQL Server使用Java提供凭据

时间:2013-06-25 20:57:02

标签: java sql-server windows-authentication

我正在编写一个java应用程序,通过将数据库中的数据与预期结果进行比较来帮助我的部门审核我们的文档。它还允许创建报告以验证数据。我已经能够让它完美地工作,但现在我的主管希望更多人能够使用该应用程序,而不是数据库管理员想要授予访问权限。所以这就是问题所在:

我需要能够使用不同的凭据(如应用程序的所有用户的通用用户名和密码)连接到MS SQL Server(使用Windows身份验证),而不是Windows用户帐户。有没有办法操纵或设置发送到服务器进行Windows身份验证的凭据?我应该使用什么驱动器或外接罐?

用户与服务器位于同一个域中,因此不应成为问题。我也不需要知道如何使用Windows身份验证进行连接,我已经这样做了。而且我不需要SSO。我查看了JTDS,但似乎仍在使用以下格式抓取Windows帐户:

String DATABASE_URL = "jdbc:jtds:sqlserver://<ServerName>:<port>/<DatabaseName>;user=<username>;password=<password>;domain=<Domain>;";

提前致谢!

1 个答案:

答案 0 :(得分:0)

我很确定这是不受支持的。

  

当用户通过Windows用户帐户SQL Server连接时   使用Windows主体验证帐户名和密码   操作系统中的令牌。这意味着用户身份是   由Windows确认。 SQL Server不要求输入密码   不执行身份验证。 Windows身份验证是   默认的身份验证模式,比SQL安全得多   服务器验证。 Windows身份验证使用Kerberos安全性   协议,提供关于密码策略的实施   强密码的复杂性验证,提供支持   帐户锁定,并支持密码到期。建立了连接   使用Windows身份验证有时称为可信连接,   因为SQL Server信任Windows提供的凭据。

http://technet.microsoft.com/en-us/library/ms144284.aspx