.Net Core 2.0部署至IIS后Windows身份验证问题咨询
针对.NET Core 2.0 IIS部署后Windows身份验证的排查建议
根据你描述的情况——本地运行正常但IIS部署后遇到问题,结合你给出的web.config权限配置,我整理了几个常见的排查方向:
确认IIS站点的身份验证模式
打开IIS管理器找到你的站点,进入「身份验证」功能面板:- 必须启用Windows身份验证,同时禁用「匿名身份验证」(否则会出现身份验证优先级冲突,导致规则不生效)
检查应用程序池的身份与权限
- 应用池建议设置为
ApplicationPoolIdentity,如果你的应用需要访问域内资源,也可以指定一个有对应权限的域账户 - 务必给应用池身份分配站点根目录的读写/执行权限:右键站点文件夹 → 属性 → 安全 → 添加
IIS AppPool\你的应用池名称,勾选必要的权限(至少读和执行)
- 应用池建议设置为
验证authorization规则的准确性
你当前的web.config权限配置如下:<security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" roles="AD\Domain Users" /> </authorization> </security>这里需要注意:
- 确保AD组名称(
AD\Domain Users)拼写完全正确,包括域名的格式(有些环境可能用DOMAIN\Domain Users,要和实际AD域名匹配) - 可以先临时简化规则为
<add accessType="Allow" users="*" />,测试是否能正常访问,以此排除权限规则本身的问题
- 确保AD组名称(
确认.NET Core托管组件是否安装
IIS托管.NET Core应用必须安装对应版本的ASP.NET Core托管捆绑包,对于.NET Core 2.0,要确保服务器上安装了匹配的版本,否则IIS无法正确处理.NET Core请求查看日志定位具体错误
- 打开Windows事件查看器,查看「应用程序」日志,里面会记录IIS或.NET Core抛出的详细错误信息,比如身份验证失败的具体原因
- 如果你的应用配置了日志,也可以去应用的日志目录查看生成的日志文件,进一步定位问题
内容的提问来源于stack exchange,提问作者Molenpad
相关产品推荐
相关产品推荐

