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

ASP.NET Core 6 Web API迁新服务器后Swagger弹出密码窗口问题

ASP.NET Core 6 Web API迁移后Swagger部分用户弹窗认证问题排查建议
  • 检查IIS站点的身份验证配置

    • 确认IIS站点的匿名身份验证已启用,且ASP.NET Core模块的权限设置正确。部分用户可能因客户端请求头差异,触发了IIS的Windows身份验证 fallback(即使配置了匿名,某些请求场景下仍可能被拦截)。
    • 查看站点web.config,确认是否存在意外的<authorization>节点限制了Swagger相关路径(如swagger/index.html、swagger/v1/swagger.json)的访问权限。
  • 排查Swagger的CORS与请求头差异

    • 对比正常用户和异常用户的请求头(通过浏览器F12网络面板查看),重点检查Authorization、Cookie、Origin字段,确认是否有特殊请求头触发了身份验证逻辑。
    • 验证API的CORS配置是否允许所有必要的请求头,避免因预请求(OPTIONS)失败导致浏览器触发 fallback 认证提示。
  • 检查Windows Server 2022的IIS模块与托管设置

    • 确认Windows Server 2022的IIS未默认启用可能影响Swagger的新模块,比如Request Filtering是否拦截了Swagger路径的请求,URL Rewrite规则是否修改了请求的身份验证上下文。
    • 核对ASP.NET Core托管捆绑包版本是否与旧服务器完全一致,版本差异可能导致身份验证中间件行为变化。
  • 清理浏览器缓存与本地存储

    • 让异常用户清除浏览器缓存(重点清理Swagger页面相关缓存)、删除对应站点的Cookie后重试,避免旧服务器的认证凭据或Session信息干扰新服务器的访问。
    • 检查Swagger UI配置,确认未强制发送无效的默认认证头(如SwaggerGen中配置的SecurityScheme是否被错误触发)。
  • 排查网络与域环境影响

    • 确认异常用户是否处于特殊AD域环境,或网络路径经过代理、防火墙等设备——这些设备可能添加了Windows身份验证相关头信息,触发IIS认证弹窗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:59:53