You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS新部署站点持续弹出Windows用户名密码认证弹窗求助

IIS站点访问弹出Windows认证框排查指南

以下排查步骤按问题出现概率从高到低排序,逐一验证即可定位根因:

  • 首先核对内置组名拼写:你提到的IIS_USERS是错误的,IIS内置的授权组名为IIS_IUSRS,拼写错误会导致所有权限配置不生效,先确认IUSR账户属于IIS_IUSRS组,而非名称错误的自定义组。
  • 校验匿名认证配置:进入站点「身份验证-匿名身份验证-编辑」,确认身份选择的是「特定用户IUSR」,不要选「应用程序池标识」;同时打开本地用户管理面板(执行lusrmgr.msc命令唤起),确认IUSR账户未被禁用,密码选项保持「由IIS自动管理密码」,不要手动输入自定义密码。
  • 补全文件系统权限:不要仅给站点根目录配置权限,需要给站点所有子文件夹、文件授予IIS_IUSRS组「读取&执行、列出文件夹内容、读取」权限,且权限要继承到所有子对象;如果是.NET站点,额外给C:\Windows\Temp目录添加IIS_IUSRS组的读取、写入权限,.NET运行时编译临时文件需要访问该目录,权限不足会直接返回401触发认证框。
  • 调整认证启用状态:在身份验证面板,仅保留「匿名身份验证」为启用状态,其余Windows认证、基本认证、摘要式认证、表单认证全部设为禁用——只要Windows认证处于启用状态,匿名认证任意环节校验失败时,系统会直接返回Windows认证挑战,弹出账号密码输入框。
  • 校验授权规则配置:进入站点「授权规则」面板,确认存在「允许所有用户访问」的入站规则,不存在「拒绝匿名用户」的规则;如果开启了IP和域限制,确认客户端访问IP不在拒绝列表内,IP拦截默认也会返回401认证提示。
  • 检查系统本地策略:打开本地安全策略面板(执行secpol.msc命令唤起),定位到「本地策略-用户权限分配」,确认「从网络访问此计算机」列表包含IIS_IUSRS组,同时「拒绝从网络访问这台计算机」列表中没有IUSR、IIS_IUSRS相关账户/组。
  • 校验站点配置文件:如果是ASP.NET Framework站点,检查站点根目录web.config中<system.web><authorization>节点,不能存在<deny users="?"/>配置,该配置会直接拒绝所有匿名访问;如果是ASP.NET Core/.NET 5+站点,检查web.config中aspNetCore模块不要配置forwardWindowsAuthToken="true",同时检查程序代码中没有全局配置[Authorize]过滤器强制要求认证。
  • 最后做连通性校验:在服务器本地配置hosts将域名指向127.0.0.1,用curl -v http://你的域名查看响应头,确认WWW-Authenticate响应头是当前站点返回的,排除域名解析到其他服务器/站点的情况。

相关配置参考截图:
Authentication
配置截图

内容的提问来源于stack exchange,提问作者user11889334

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 12:42:26