当前位置: 首页 > 知识库问答 >
问题:

使用集成安全性并指定用户名和密码连接到JDBC

丌官绍元
2023-03-14

我需要通过在连接字符串中指定用户名和密码,使用Windows身份验证用户连接到SQL Server。

不知何故,我需要建立这样的联系才能工作:

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://192.168.48.61\\sqlexpress2008r2;
databaseName=MyTestDatabase;integratedSecurity=true;
username=mydomain\eric;password=mypwd

由于这个要求看起来很奇怪,我试着解释我的场景:

>

  • 在我的应用程序中,用户被映射到SQL Server用户(使用SQL身份验证或windows身份验证)

    有一个Windows客户端可以从LAN内部访问数据库

    我正在编写一个web应用程序(Tomcat8 servlet)来从互联网访问数据库:在这种情况下,我希望用户在登录屏幕中键入域\用户名和密码来登录

    我这样做的原因是因为我需要测试所提供的域\用户名和密码是否有效。检查完成后,我将使用sa用户连接到数据库,但为登录用户分配适当的权限(取决于用户名)。由于架构上的限制,我应该通过使用JDBC连接到数据库来进行测试,所以我的想法是:

    >

  • 为windows身份验证用户创建连接字符串

    尝试连接

    如果连接是稳定的,我假设用户和密码是正确的。

    因此,我需要创建一个JDBC连接字符串,其中我使用集成安全性并明确定义用户名(DOMAIN\USER)和密码。我没有找到任何关于如何执行此操作的示例。

  • 共有1个答案

    史淳
    2023-03-14

    驱动程序=com.microsoft.sqlserver.jdbc.SQLServerDRiver url=jdbc:sqlserver://192.168.48.61\sql的快速2008r2;数据库名称=MyTest数据库;集成安全=true;用户名=我的域名\埃里克;密码=mypwd

    这将永远不会工作。

    因此,如果windows中有一个用户abc\user1希望允许访问数据库,请使用完全相同的用户名和密码创建一个SQL Server登录名。

    这永远不会奏效。

    您只是不能使用“< code>\”创建SQL Server登录(与此上下文中的Windows登录相反),它将被识别为Windows登录,并且您将得到一个关于无效字符的错误。

    可信连接或集成安全性意味着不是服务器对您进行身份验证,而是Windows进行身份验证。

    因此,您绝不能传递Windows name和< code>password:您的帐户应该由Windows验证,SQL Server将只信任这些凭据。

     类似资料:
    • 问题内容: 我在应用程序中使用MongoDB 3.2。下面的代码演示了数据库初始化逻辑: 这段代码工作正常,现在我想向数据库引入访问级别分离。 步骤如下: 定义用户: 重新创建认证模式MongoDB的3.2服务: 。并运行它。 将连接字符串更改为 其中= 和= 。 使用相同的凭据检查IDEA中已验证的连接,一切正常。 执行我的应用程序并获取异常。 我的问题: 如何使用用户名和密码连接Java中的M

    • 我看到的关于获取访问令牌以访问Azure密钥库的所有示例都涉及到使用ClientId和ClientSecret为众所周知的https://Vault.Azure.NET资源请求一个令牌。 这工作很好...但我希望能够使用集成安全获得一个访问令牌,以访问密钥库。 例如,我有 如何更新RequiredResourceAccessList? 更新:下面是如何配置应用程序的

    • 我正在尝试连接到本地DB210.5Express-C服务器。这是一个测试环境,所以我不关心安全性。 我能够连接到命令行处理器(在Windows上运行),并更改了和的配置设置。当时我希望能够在没有身份验证的情况下进行连接(我重新启动了DB2服务),但仍然出现了一个错误。 当我尝试在没有用户名/密码的情况下连接时 我得到了错误:com.ibm.db2.jcc.am.SqlSynTaxErrorExce

    • 我正在使用com.jcraft.jsch.jsch创建一个SFTP连接。 我的SSH密钥被设置为可以直接SSH到服务器,而不需要用户名或密码。 我的公钥在中的authorized_key文件中 我在本地计算机上的SSH密钥在 此外,我在此目录中还有一个配置文件和一个文件。 为了进行双重检查,我确保中的公钥在远程服务器的文件中。 我正在开发一个创建文件的GUI程序。有了这个文件,我希望能够将它存储在

    • 我正在尝试连接到MySQL数据库。 persistent.xml 应用性质 错误

    • 我遵循了微软的这篇教程。我创建了WSL用户名和密码,安装了所有必要的应用程序,并启动了SSH服务。当我在菜单中从Visual Studio连接到它时,问题就出现了。 我遵循以下说明: 主机名=localhost 端口=22 用户名=为WSL创建的用户名 身份验证类型=密码 Password=我为WSL用户名创建的密码。