C# MVC身份验证在IIS中不起作用(在IIS Express中起作用)
我已经创建了一个带有个人身份验证的MVC项目,并且正在使用默认模板。当我从visual Studio(IIS express)中启动应用程序时,我可以查看所有公共页面、注册帐户和登录。一切都很好 但是,当我发布项目并将其托管在完整的IIS服务器(Windows server 2016)上时,我可以查看所有公共页面,但注册或尝试登录会产生以下一般错误: 我在项目中使用LocalDb,我注意到部署的应用程序上的windows标识为“NT AUTHORITY\SYSTEM”,而IIS Express应用程序的标识为USER-DESKTOP\USER。此错误是由权限问题引起的吗?如果是,如何解决此问题C# MVC身份验证在IIS中不起作用(在IIS Express中起作用),c#,asp.net,asp.net-core,iis,windows-server-2016,C#,Asp.net,Asp.net Core,Iis,Windows Server 2016,我已经创建了一个带有个人身份验证的MVC项目,并且正在使用默认模板。当我从visual Studio(IIS express)中启动应用程序时,我可以查看所有公共页面、注册帐户和登录。一切都很好 但是,当我发布项目并将其托管在完整的IIS服务器(Windows server 2016)上时,我可以查看所有公共页面,但注册或尝试登录会产生以下一般错误: 我在项目中使用LocalDb,我注意到部署的应用程序上的windows标识为“NT AUTHORITY\SYSTEM”,而IIS Express
另外,对已部署的项目使用localDB是否不好?将只有两个用户使用该应用程序,并且他们都是受信任的。对于已部署的项目使用localDB完全不是一个好主意,
它仅用于开发人员测试 在vs中开始调试时,将启动localDB 如果使用SQL Express会更好
尝试按照以下步骤将站点应用程序池标识设置为本地系统: 1) 打开iis管理器 2) 转到应用程序池并选择应用程序池名称 3) 单击高级设置 4) 有一个“流程模型”选项,在该选项下有一个“标识”选项。默认情况下,这是应用程序池标识。把它改成本地系统,你就完成了 将“加载用户配置文件”设置为True
对于我来说,ASPNETCORE_环境变量值中似乎有错误,您是否在IIS中设置了它?ASPNETCORE_环境在项目的launhSettings.jason文件中设置为Development。。。。但我没有在IIS中设置任何内容。我只是做了一些简单的研究,但仍然不能100%确定如何在IIS中设置它们。您能详细说明一下吗?如果托管应用的根目录中有web.config文件,您可以添加到aspNetCore节env变量中,如果没有此文件,您可以通过IIS管理器进行配置