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

使用JDBC和SQL Server进行Windows身份验证

颜文昌
2023-03-14

我需要使用 JDBC 连接到使用 Windows 身份验证的 SQL Server,其中我提供了连接字符串中的用户名和密码。这可以通过Windows身份验证实现吗?

我已经用JTDS和msql-jdbc尝试过这个,但无法让它工作。

private  Connection getDBConnection() {
  Connection dbConnection = null;
  try {
         System.out.println("load driver");
         Class.forName("net.sourceforge.jtds.jdbc.Driver");
         log.info("loaded");

         String con = "jdbc:jtds:sqlserver://PNT00-PMP-SQL01:1433/iceware;domain=workgroup;userName=user;password=password";

         dbConnection = DriverManager.getConnection(con);

         log.info("got connection");

        return dbConnection;

   } catch (Exception e) {
         log.error(e.getMessage());
   }
   return dbConnection;
 }

我已经尝试了用户名和域的各种组合,但通常得到这样的东西:

019-01-18 14:15:31错误com.pts.demo.service.JdbcService-用户'/'登录失败。ClientConnectionId:962eeab5-226c-4f85-9911-644a570529ab

任何帮助非常感谢

共有1个答案

艾子石
2023-03-14

您必须在连接字符串useNTLMv2=truedomain=yourdomain中包含属性

这可能是重复的:Sql Server-使用windows身份验证连接

还有另一种方法-https://thusithamabotuwana.wordpress.com/2012/07/19/connecting-to-sql-server-from-java/

您也可以尝试以下代码来获取SQL JDBC连接(用户名

............
String jdbcUrl = "jdbc:jtds:sqlserver://192.168.10.101:1433/dbName;charset=utf8";
System.setProperty("jsse.enableCBCProtection", "false"); // for SSL enabled MSSQL
Properties prop=new Properties();
prop.put("user",user);
prop.put("password",passWord);
prop.put("domain",domain);
prop.put("useNTLMv2","true");

dbConnection = DriverManager.getConnection(jdbcUrl , prop);
........
 类似资料:
  • 问题内容: 我想为在Raspberry Pi上运行并像本地服务器一样工作的软件制作一些更新脚本。该服务器应连接到Web上的主服务器,以获取软件更新并验证软件的许可证。为此,我设置了两个python脚本。我希望它们通过TLS套接字连接。然后,客户端检查服务器证书,然后服务器检查它是否是授权的客户端之一。我在此页面上找到了解决方案。 现在还有一个问题。我想知道 哪个客户端 (取决于证书)正在建立连接。

  • 但请求呢?和是用户的属性,但应将它们发送到endpoint。如果我将资源发送到endpoint,则没有多大意义。 对此有没有办法,遵循JSONAPI并保持API的意义?

  • 我正在尝试使用urllib3连接到网页。代码如下所示。 如果我们假设url是需要使用用户名和密码进行身份验证的某个网页,那么我是否使用正确的代码进行身份验证? 我使用urllib2做这件事很舒服,但使用urllib3做不到同样的事情。 非常感谢

  • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。

  • 问题内容: 我可以通过接收到请求的xml 但不是 没有JavaScript错误,没有跨域策略问题。可能是语法错误,但是我找不到合适的教程。有什么建议吗? 问题答案: 我认为您需要纯格式:

  • 问题内容: 我想使用当前登录到计算机的Windows域帐户(活动目录)对django Web用户进行身份验证。如何执行此操作而又不提示用户再次输入用户名/密码,因为他已经使用域帐户登录到了系统。我正在使用django和python 2.7。我浏览了以下 链接,但并不了解如何在我的视图中使用它。请帮我。 谢谢 问题答案: 当Web服务器(此处为IIS上托管的django)负责身份验证时,通常会设置环