密码过期后通过 .NET 集成安全性连接到 SQL Server

本文关键字:连接 安全性 SQL Server 集成 NET 过期 密码 | 更新日期: 2023-09-27 18:31:30

我对使用.NET连接到SQL Server时看到的行为有点困惑。我相信这可能与连接池有关,我希望有人能够解释原因,并可能就如何避免这种行为提出任何建议

我有一个在多台机器上运行的应用程序,它打开了一些与具有集成安全性的服务器的SQL连接。然后,当帐户过期(密码需要更改)时,SQL 连接将继续在某些计算机上工作。但是,在某些计算机上,由于帐户已过期,连接将被拒绝。后者是我所期望的行为。

所有计算机上的配置和连接机制完全相同。

任何人都可以帮助解释为什么某些查询在密码过期后有效吗?是否有任何避免这种情况的提示,或者无济于事?

密码过期后通过 .NET 集成安全性连接到 SQL Server

根据 AD 网络的大小和布局,您将看到有关密码更改/过期的一些延迟,因为不同的域控制器可能正在为身份验证请求提供服务。

如果将用户凭据用于 SQL 连接,则无能为力。 但是,如果使用服务帐户使 SQL 连接成为更好的方法,则使用单个帐户就是使用两个帐户。 在第一个帐户的密码过期之前,为第二个帐户创建一个新密码,并等待它通过您的网络复制。 如果您有一个大型国际网络,则为 24 小时,如果您有一个较小的网络,则更少。 然后将应用程序服务更改为使用第二个帐户。 在第二个帐户密码过期之前,使用第一个帐户重复此过程。

如果在 Windows 服务中运行,另一种方法是使用内置的网络服务帐户建立 SQL 连接。 然后,您将没有要更改的密码,传入凭据将类似于域''$MACHINENAME。