java - 使用 JDBC 将自己制作的 Windows 凭据传递到 SQL Server

标签 java sql-server security jdbc

我正在尝试编写一个在工作中连接到 SQL Server 的程序,我已经完成并且工作得很好。然而,这个程序只能在我工作场所的桌面上运行,因为它连接到我希望它连接到本地的 SQL Server。这意味着如果我在家处理这个程序,我将无法做任何事情,因为它无法连接到它。

我发现服务器使用 Windows 身份验证来对连接到 SQL Server 的用户进行身份验证。据我所知,SQL Server 上的 Windows 身份验证获取安全凭据。所以我想知道是否有一种方法可以使用 Java 获取凭据,然后使用 JDBC 将其传递给 SQL Server 来登录数据库?或者说这并不现实?如果是这样,有什么办法可以解决这个问题吗?

谢谢

最佳答案

当您安装 MS SQL Server 时,系统会询问您所需的身份验证类型。

我个人无法想象纯“Windows 身份验证”有意义的场景。我总是选择“混合模式”,因为纯 Windows 身份验证可能会出错。 (服务器管理员被解雇、公司与另一个 AD 域合并、自发的 SID 损坏等...)

也就是说,您需要 Change Authentication Mode to Mixed Mode .

关于java - 使用 JDBC 将自己制作的 Windows 凭据传递到 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31293067/

相关文章:

c - 线性化攻击

java - 线程失去锁并给另一个线程执行的机会

mysql - 面试中的 SQL 任务

php - Json:PHP 到 JavaScript 安全与否?

sql - 在 TSQL 过程中使用 SYSNAME 数据类型

sql - 单个 sql 查询可以处理 sql server 中的 null 或值日期范围

java - 如何从 JDK 禁用 TLS 1.0

java - 内存计算器程序

java - Android SQLite : Fast insert/update

windows - Maven 编译器插件 fork 选项不起作用