gpt4 book ai didi

asp.net - ASP.NET 和 SQL Server 2008 中的错误 "Login failed for user ' NT AUTHORITY\IUSR'"

转载 作者:行者123 更新时间:2023-12-01 06:54:54 27 4
gpt4 key购买 nike

我的 ASP.NET v3.5 Web 应用程序在尝试打开与 SQL Server 2008 数据库的连接时抛出以下异常:

System.Data.SqlClient.SqlException:Cannot open database "MyDbName"requested by the login. The loginfailed. Login failed for user 'NTAUTHORITY\IUSR'.


问题是,我添加了 NT AUTHORITY\IUSR到服务器的登录列表和数据库的用户列表。对于服务器,我已授予用户 Public 角色,而对于数据库,我已授予 db_datareader权限。
我也为 NT AUTHORITY\NETWORK SERVICE 授予了相同的权限,这是运行应用程序池的标识。
Web 应用程序由 IIS7 托管,如果这有所不同的话。当 DB 和 IIS 也位于同一台物理机器上时,问题也会重现。

最佳答案

这里的诀窍是 NT AUTHORITY\NETWORK SERVICE实际上在数据库中显示为 DOMAINNAME\MACHINENAME$ (注意 $ 符号!)。也就是说,当您从 Web 服务器跨越机器边界到 SQL Server 时,如果您使用 NETWORK SERVICE,SQL Server 会看到机器帐户。或 LOCAL SYSTEM帐户。如果您使用任何其他非域帐户,SQL Server 将不会收到您的凭据。

我对您的错误消息感到有些困惑。说实话,我不认为当数据库在另一个盒子上时,你会看到除 Login Failed for NT AUTHORITY\ANONYMOUS LOGON 以外的任何东西。 .
IUSR用于匿名网站,不能通过线路传递到 SQL Server。如果你在同一台机器上做所有事情,你可能会找到一种工作方式,但我永远不会知道,因为我永远不会那样做......;-)

关于asp.net - ASP.NET 和 SQL Server 2008 中的错误 "Login failed for user ' NT AUTHORITY\IUSR'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1269706/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com