我正在支持一个 .NET 4.0 (Visual Studio 2010) Web 应用程序,该应用程序对驻留在我的工作 Intranet 上的 SQL Server 2008 数据库进行身份验证。应用程序使用 Windows 身份验证对数据库进行身份验证。如果我在我的主机上开发,那一切都很好,但我正在一个不在工作域上的虚拟机上开发。因此,当项目构建并运行时,它会抛出 SqlClient.SqlException
“登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。”
如果没有在我的主机上开发并放弃 VM,我可以做些什么来避免这个错误并成功地对数据库进行身份验证,以便我可以构建/运行 Web 应用程序?我愿意将我的凭据存储在本地某个地方,但最好不要在 TFS 源代码控制下的某个地方(如 web.config),因为我无法保持文件被签出,因为项目中有其他开发人员。
我尝试以其他用户身份(作为我工作域上的用户)运行 Visual Studio,但我收到“未知用户名或密码错误”错误。
请注意,将虚拟机添加到域(或通过 VPN 连接到域)不是选项。VM 必须保持在域之外。另请注意,虚拟机在域中的计算机上运行,并且 VM 使用共享连接。所以它可以访问 Intranet 但它不能对 SQL Server 执行 windows 身份验证。