使用域用户(AD 用户)连接到没有密码的 SQL Server

Posted

技术标签:

【中文标题】使用域用户(AD 用户)连接到没有密码的 SQL Server【英文标题】:Connect to SQL Server WITHOUT password using domain user (AD user) 【发布时间】:2018-06-04 18:43:42 【问题描述】:

我使用模拟连接 SQL Server 和域用户,但我们也必须提供密码。有什么方法可以在没有密码的情况下连接到 SQL Server。我的连接字符串是 -

<connectionStrings>
  <add name="connectionString" connectionString="Data Source=myServerAddress;Initial Catalog=myDataBase;Trusted_Connection=Yes" providerName="System.Data.SqlClient"/>
</connectionStrings>

<system.web>
<identity impersonate="true" userName="Domain\userName" password="password"/>
</system.web>

我问这个问题是因为安全团队不想将密码保存在 web.config 文件中(不是加密格式)。他们有另一个工具可以保存所有 AD 帐户的密码,我们必须从那里检索密码,然后才能连接到 SQL Server。在 ASP.net 中怎么可能?

IDE - Visual Studio 2012(框架 4.0)

谢谢!

【问题讨论】:

您有存储密码的系统?那么为什么不从配置文件中获取连接字符串模板,从该系统获取密码,将它们插入到连接字符串中,然后就可以了!当然...为什么您的系统存储密码是加密的?密码应该是单向散列的。这不应该是可逆的。 Connection String Using a Domain User?的可能重复 是的,该工具名称是 TPAM。我认为这在域用户场景中是不可能的,因为当我们从该系统检索密码并动态插入连接字符串时,asp.net 应用程序将如何创建访问令牌? @Hackerman - 不,它不是重复的,我上周看过那个帖子。 将 AD 用户添加到应用程序的应用程序池中。 【参考方案1】:

在连接之前,您基本上可以添加一个按钮,当该事件发生时输入密码,直接在连接字符串字段中使用密码,您就可以开始了。

这可能不像我刚才所说的那样取决于上传您正在使用的框架,但如果您可以一次又一次地重新输入密码,它可能会非常有用。

【讨论】:

以上是关于使用域用户(AD 用户)连接到没有密码的 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

使用域用户 ID 连接到 sql 服务器 - SQLServerException:用户登录失败

如何在 PL/SQL 中连接到另一个用户

AD域用户安装软件

自助重置AD域用户密码_如何更好的对AD域用户密码进行管理

2008AD域用户密码更改

使用 WinNT:// 提供程序和目录服务连接到远程计算机忽略用户名/密码