【问题标题】:'Domain/MachineName$' being used for authentication instead of 'Domain/UserName''Domain/MachineName$' 用于身份验证,而不是 'Domain/UserName'
【发布时间】:2015-04-23 01:40:50
【问题描述】:

以下帖子可能看起来相同,但在尝试了作为答案提供的所有解决方案后,我无法更正问题。 (Login failed for user 'DOMAIN\MACHINENAME$')

我的问题

我正在 Windows 网络 中的 IIS7 开发服务器上部署一个启用表单身份验证的 asp.net Web 应用程序。 My SQL Server 部署在同一网络中的远程机器上,并为远程连接打开了必要的 TCP 端口。所有域用户都已获得 SQL Server 中必要数据库的访问权限。

现在当我尝试运行我的网络应用程序时,出现以下错误:

用户 'DOMAIN\MachineName$' 登录失败。

我已经在我的 SQL 服务器中授予了对 NT AUTHORITY\NETWORK SERVICE 的足够权限。

想授予 SQL 服务器中的 'DOMAIN\MachineName$' 任何权限,因为开发人员不断更改机器名称以用于各种测试目的。

我使用的连接字符串是:

"Server=SQL-SERVER;Initial Catalog=MyDatabase;Integrated Security=SSPI;Persist Security Info=False"

SQL 提供程序是System.Data.SqlClient

启用匿名和表单身份验证,因为我的网络应用包含 login.aspx

【问题讨论】:

    标签: c# asp.net sql-server authentication iis-7


    【解决方案1】:

    关键是,每当您使用NT AUTHORITY\NETWORK SERVICE 作为应用程序池用户时,系统都会在网络中将其转换为DOMAIN\MachineName$

    我们所做的就是使用开发者的用户名连接机器,将应用池的用户名设置为开发者的名字。

    【讨论】:

    • 我还是不明白为什么有些项目会默认使用域/用户名,而其他项目会默认使用域/机器名。关于这个解决方案的问题是,从事该项目的其他开发人员必须了解此修复程序才能使项目正常工作,而不是仅仅将其拉下来并让它工作。
    • 他们都使用 IIS 还是使用 IIS express?如果是后者,则始终使用用户名,对于 IIS,这取决于应用程序池中的设置。
    • 我希望“网络服务”尝试“DOMAIN\MachineName$”。但在我的 IIS 7 上,情况并非如此。我的 IIS 正在使用“ApplicationPoolIdentity”,当它运行时,它实际上是作为“DOMAIN\MachineName$”连接的。在另一台计算机上,我有一台服务器计算机,我想要它使用'DOMAIN\MachineName$',我已经尝试了所有内置帐户选项,但没有他们在连接到 SQL 时使用 'Domain\MachineName$'。所以事情没有这么简单。我希望是。
    • 在本地计算机上,“网络服务”被翻译为“网络服务”(原文如此!)AFAIK。仅当您连接到另一台计算机时才会转换为机器名称。
    【解决方案2】:

    我在内网环境中也遇到了同样的问题。解决方案很简单,但很难抓住这个想法。通常,IT 安全负责人会给您活动目录服务帐户以登录到您的数据库。您可以设法使用 ssms 登录,但它在 IIS 中失败,因为 IIS 选择使用域/计算机名连接。所以设置自定义帐户并填写您的域/用户名和密码。

    1. 在 IIS 管理器中,选择您的 Web 应用程序使用的应用程序池或 如果您使用默认的,请创建一个新的。
    2. 单击右侧操作栏中的“高级设置”。在流程模型下,单击 “身份”值并选择“自定义帐户”。
    3. 单击“编辑”并输入用户帐户的域/用户名和密码。
    4. 如果所有信息输入正确,弹窗将成功关闭 没有任何错误信息。
    5. 然后停止您的网站。
    6. 再次返回您的应用程序池并单击“回收”。
    7. 启动您的网站。

    就是这样。您的 Web 应用程序将从 IIS 成功连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 2011-02-17
      • 1970-01-01
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多