【问题标题】:Trying to run on IIS instead of IIS Express on Windows Home with Database Connectivity尝试在具有数据库连接的 Windows Home 上运行 IIS 而不是 IIS Express
【发布时间】:2019-11-12 04:54:50
【问题描述】:

已编辑问题以显示我尝试授予 DefaultAppPool 访问数据库的一些新屏幕截图...(问题的其余部分相同,并且未更改):


剩下的问题,不变:

内置的 IIS Express 没有数据库访问问题,因为我的程序是在登录到 windows 的用户下运行的。我是 Web 开发新手。

使用 Windows Home,您不能使用 Windows 身份验证 - 当您去添加\删除功能时,该选项甚至不存在,并且共识是您必须升级您的操作系统才能使用此功能。

因此,程序在应用程序池帐户下运行。

所以我尝试进入 SQL Server 并授予 IIS APPPool\DefaultAppPool 帐户访问权限,但它不让我访问。

所以我继续打开模拟,以便它可以在 IUSR 帐户下运行,并且根据屏幕截图,我授予该帐户访问数据库的权限。

但程序仍然崩溃并报告“登录失败...”

如何在 IIS 而不是 IIS Express 中运行程序?

【问题讨论】:

  • 尝试将应用程序池标识设置为您的 Windows 用户 - stackoverflow.com/questions/29661653/…
  • “所以我尝试进入 SQL Server 并授予 IIS APPool\DefaultAppPool 帐户访问权限,但它不让我访问。”通过这样做,我解决了这个确切的问题。 “它不会让我”是什么意思?
  • lionthefox:根据您的评论编辑问题。
  • 从这里查看第一个答案...stackoverflow.com/questions/1933134/… 为什么它不允许您在 SQL Server 中创建帐户?您可以尝试在执行这些步骤时确保应用程序正在运行。此外,如果您要创建新的 AppPool 而不是使用 DefaultAppPool,请通过以下方式阅读:docs.microsoft.com/en-us/iis/manage/configuring-security/…
  • 也许上面的一个是正确的答案,但我决定换电脑...我有一个桌面 10 pro,所以我会用那个...

标签: c# asp.net iis iis-express application-pool


【解决方案1】:

据我所知,没有必要使用冒充访问sql server。您收到 account not found 错误的原因是您使用了错误的应用程序池名称。

如果输入{yourcomputername}\DefaultAppPool,则不视为应用池标识。

您应该使用IIS AppPool\DefaultAppPool 而不是{yourcomputername}\DefaultAppPool

详情请参考下图:

【讨论】:

    猜你喜欢
    • 2018-11-07
    • 1970-01-01
    • 2020-02-26
    • 2013-01-29
    • 2017-11-28
    • 2011-06-23
    • 2021-10-25
    • 1970-01-01
    • 2010-09-16
    相关资源
    最近更新 更多