gpt4 book ai didi

azure - HTTP 响应是 404 而不是 401 与authorization.json 我错过了什么吗?

转载 作者:行者123 更新时间:2023-12-03 04:15:30 24 4
gpt4 key购买 nike

在 Azure 应用服务论坛中发布此内容,但没有得到回复,所以...

框架是4.7.1

应用程序是带有两个 Web API Controller 的 ASP.Net Web 表单。
网站和 HealthCheck Controller 应允许匿名请求。另一个 Controller 应使用证书作为凭据通过 Azure Active Directory 进行身份验证。

应用服务中的身份验证设置为

  • 允许匿名请求(无操作)
  • 身份验证提供程序设置为 Azure Active Directory
  • 管理模式设置为 Express
  • 证书已添加到管理应用程序

唯一的问题是,当匿名请求到达安全 Controller 时,会返回 HTTP 404 而不是 401。

如果发出经过身份验证的请求,则会返回 HTTP 200。我是否缺少某些配置设置?

这是Application_Start中Global.asax.cs中的路由图

RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);

这是authorization.json文件

{
"routes": [{
"path_prefix": "/",
"policies": { "unauthenticated_action": "AllowAnonymous" }
},
{
"path_prefix": "/api",
"policies": { "unauthenticated_action": "RejectWith401" }
},
{
"http_methods": [ "GET"],
"path_prefix": "/api/HealthCheck",
"policies": { "unauthenticated_action": "AllowAnonymous" }
}]
}

最佳答案

您的authorization.json 文件肯定有问题。除了这个 /api 之外还有其他子目录吗?也尝试添加它们,在 path_prefix 中使用 /api/(*whatever path*)

关于azure - HTTP 响应是 404 而不是 401 与authorization.json 我错过了什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53341121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com