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

如何在Azure App Service中无需审批实现.NET Core 7 Windows身份验证?

问题解决思路

一、Azure App Service上Windows身份验证的正确配置

你本地用AddNegotiate实现Windows认证没问题,但Azure App Service本身提供了集成的Windows身份验证能力,不需要在代码中手动注册Negotiate handler,这就是报错的原因。正确做法:

  • 登录Azure门户,找到你的App Service实例
  • 左侧导航栏选择「Authentication」(认证)
  • 在「身份验证提供程序」下,选择「Add identity provider」(添加身份提供商),选「Windows Azure Active Directory」
  • 选择「快速创建」,系统会自动配置对应的应用注册
  • 删除代码中手动添加的builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme).AddNegotiate();行,App Service会自动处理认证流程,代码无需额外配置

如果坚持要在代码中使用Negotiate,需要禁用App Service的内置认证,但这种方式在Azure环境下不推荐,内置认证的稳定性与集成度更高。

二、关闭Azure AD的登录审批弹窗

出现「需要审批」弹窗,是以下两种情况导致,对应解决方式如下:

情况1:应用注册请求了需管理员同意的权限

  • 登录Azure门户,进入「Azure Active Directory」→「应用注册」,找到自动创建的目标应用
  • 选择「API权限」,检查所有已添加的权限:若存在标记为「需要管理员同意」的权限,要么移除这类权限,要么点击「授予管理员同意」(需租户管理员权限),授予后普通用户登录将不再触发审批请求

情况2:租户的用户权限同意策略限制

  • 进入「Azure Active Directory」→「企业应用程序」→「用户设置」
  • 找到「用户可以同意应用代表他们访问公司数据吗?」选项,设置为「是」,或根据安全要求精细设置允许用户同意的权限类型
  • 注意:该设置会影响整个租户的应用权限同意策略,需结合公司安全规范调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 17:15:40