SQL Server 2000 + ASP.NET:用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败

我刚搬了一个开发工作站

  • 来自:带有 IIS 6 的 Windows XP Pro SP3
  • 至:带有 IIS 7 的 Vista Enterprise 64 位

从这一步开始,我访问 SQL Server 2000 数据源的网页之一是从我的 ASP.NET 2.0 网站获取遵守错误:“客户'NT AUTHORITYbkslshANONYMOUS LOGON'登录失败。”

我有:

  • 在 IIS 和 web.config 中允许 Windows 身份验证
  • IIS中的残障匿名身份验证
  • 设置模拟以作为确认用户运行
  • 验证访问的用户(在本例中为我)可以访问 SQL Server 上的适当数据源
  • 通过检查 User.Identity.Name 和 System.Security.Principal.WindowsIdentity.GetCurrent().Name(都显示我的用户名)来验证我的登录名和操作信息在 ASP.NET 页面中是否正确

我使用 SqlConnection 的连接字符串是“Server = SERVER_NAME ;Database = DB_NAME ;Integrated Security = SSPI ;Trusted_Connection = True ;”

为什么尝试使用 NT AUTHORITYbkslshANONYMOUS LOGIN 登录? 我需要假设它是 IIS7 的一些设置或 web.config 入口详细信息,因为它在迁移之前起作用了。

请记住:SQL Server 只是 Windows 身份验证 - 没有组合设置或只有 SQL。

0
2022-06-07 15:17:32
资源 分享
答案: 4

我知道这是一个迟到的回复,但我也偶然发现了同样的问题并解决了这个问题。 想法与大家分享。

我可以理解为什么您可能不想提供 SQL 身份验证,因为客户可能不赞成这样做。

要使 Windows 身份验证正常工作,您可以遵循以下操作:

1) 在 web.config 中指定对 windows 的身份验证

2) 在 web.config 中模拟真实身份

3) 为应用程序创建一个新的域数字用户,状态为 abc @mydomain.com,并带有一些密码

4) 在代理区,指定这个用户名和密码

5) 在 IIS 中,删除机密访问并检查合并的 windows 身份验证

6) 使用 aspnet_regiis - ga "mydomainbkslshusername" 为新客户提供对 IIS 元数据库的访问权限

7) 提供对您在线目录的物理目录的个人可访问性的可访问性。 您需要在此处添加此客户。

8) 请注意,如果您的应用程序正在写入某个日志文件,您当然还需要提供“写入”合法权限

9) 请注意,如果您的应用程序正在访问某个数据库并执行一些保留的过程,您将需要将此个人添加到具有应用程序数据源的 dbowner 权限的 sql server 登录。

此外,您可能不希望通过提供对 NT 授权/匿名登录的访问来陷入安全问题,因此在这种情况下,开发您自己的应用程序用户肯定会有所帮助。

我希望它有所帮助,如果它确实要求您将此作为“答案”

1
2022-06-08 14:36:49
资源

您是否尝试编辑和增强应用程序池并将托管管道模式更改为经典而不是集成?

它可能与 IIS7 中针对 ASP.Net 2.0 应用程序的重大更改 相关联。

0
2022-06-07 15:55:07
资源

在我看来,限制委派未启用:为委派配置服务器

6
2022-06-07 15:51:07
资源

也许将本地网络服务帐户添加到 SQL 上的数据源。

希望它有所帮助。

0
2022-06-07 15:50:57
资源