1

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

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

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

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

提前致谢!

4

1 回答 1

0

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

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

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

于 2013-06-26T00:29:38.467 回答