【发布时间】:2020-12-26 21:36:01
【问题描述】:
我创建了一个具有个人身份验证的 MVC 项目,并且正在使用默认模板。当我从 Visual Studio (IIS express) 中启动应用程序时,我能够查看所有公共页面、注册帐户并登录。一切都很好。
但是,当我发布项目并将其托管在完整的 IIS 服务器上(在 Windows Server 2016 上)时,我可以查看所有公共页面,但注册或尝试登录会产生以下一般错误:
我在项目中使用 LocalDb,我注意到部署的应用程序上的 Windows 身份是“NT AUTHORITY\SYSTEM”,而 IIS Express 应用程序的身份是 USER-DESKTOP\User。此错误是由权限问题引起的吗?如果是,您如何解决此问题?
另外,将 localDB 用于已部署的项目是不是很糟糕?将只有两个用户使用该应用程序,并且他们都是受信任的。
【问题讨论】:
-
对我来说看起来像 ASPNETCORE_ENVIRONMENT 变量值错误,你是在 IIS 中设置的吗?
-
ASPNETCORE_ENVIRONMENT 在项目的 launhSettings.jason 文件中设置为 Development.... 但我没有在 IIS 中设置任何内容。我只是做了一些简单的研究,但仍然不能 100% 确定如何在 IIS 中设置它们。你能详细说明一下吗?
-
如果您的托管应用的根目录中有 web.config 文件,您可以在 aspNetCore 部分添加环境变量
-
如果没有这个文件你可以通过IIS管理器andrecarlucci.com/en/…进行配置
标签: c# asp.net asp.net-core iis windows-server-2016