IIS禁用匿名认证后VS匿名认证被锁定启用 Windows认证登录弹窗无法消除
解决.NET Framework站点Windows身份验证弹窗问题的方案
核心问题根源是IIS全局配置默认禁止站点级别修改身份验证相关配置,导致web.config中的设置和IIS/VS的配置冲突,按以下顺序操作即可解决:
- 打开IIS管理器,点击左侧根服务器节点,进入功能视图的「配置编辑器」,在顶部节下拉框定位到
system.webServer/security/authentication/anonymousAuthentication,将右侧的overrideModeDefault属性改为Allow;同路径下找到windowsAuthentication节,同样将overrideModeDefault修改为Allow,保存全局配置。 - 回到IIS的站点列表,选中你的目标站点,进入「身份验证」功能页,直接在图形界面操作:禁用匿名身份验证,启用Windows身份验证,不要手动修改web.config添加对应配置项,避免配置冲突。
- 打开项目的.csproj工程文件,检查以下配置是否正确:
不存在的节点手动添加,保存后重新加载项目,避免VS自动覆盖站点身份验证配置。<UseIISExpress>false</UseIISExpress> <IISWindowsAuthentication>true</IISWindowsAuthentication> <IISAnonymousAuthentication>false</IISAnonymousAuthentication> - 检查站点对应应用程序池的运行身份,确认该账户对你的项目根文件夹有至少读取和读取执行权限,避免权限不足导致身份验证流程异常。
- 执行
iisreset命令重启IIS服务,使用浏览器无痕模式访问站点测试,避免缓存的身份凭证导致重复弹窗。
内容的提问来源于stack exchange,提问作者R Stevens
相关产品推荐
相关产品推荐

