gpt4 book ai didi

asp.net-mvc - 将 ASP.NET 应用程序部署到 Azure Web 应用程序时出现 HTTP 403 错误

转载 作者:行者123 更新时间:2023-12-03 01:40:31 34 4
gpt4 key购买 nike

我正在尝试为 ASP.NET MVC Web 应用程序构建暂存环境,但我在一个又一个问题中跌跌撞撞,最后一个是这个:HTTP 500.79 Error / System.UriFormatException when deploying ASP.NET App to Azure Web App

目前我收到 HTTP 403 - 禁止,“您无权查看此目录或页面。”尝试访问该页面时出错。

在身份验证方面,该应用程序使用 Azure Active Directory 作为身份验证提供程序,该提供程序在本地测试(使用 Test-AAD)和生产中运行良好。本地应用程序和生产应用程序不使用 Azure Web 应用程序。我在 Azure 应用服务页面上注意到可以在 Azure 中指定身份验证,但我并不真正想要/需要使用它,因为所有内容都是在应用程序中指定的。在 web.config 中配置(ClientID、ClientSecret 和 Tenant)。不管怎样,当我尝试直接在Azure上填写身份验证时,它也不起作用,所以我再次将其删除。

现在发生的情况是,重定向到 login.microsoftonline.com 上的登录页面有效,并且根据 AAD 管理员的说法,登录尝试成功,或者至少没有显示任何特殊情况。然而,当我被重定向回我的页面时,我得到了一个通用的 403,没有任何可以帮助确定问题的附加信息。

我确实检查了各种日志以获取更多详细信息,我发现的唯一特殊之处是,由于某些非常奇怪的原因,所有请求都向一个完全乱码的 URL 发出:

请求的 URL/指定的回复 URL:https:\\skillmanagementtest.azurewebsites.net

根据日志实际请求的URL:https:\\Skillmanagementtest:80

我完全不知道这个 URL 的来源,但是,带有大写字母的“Skillmanagementtest”似乎是我为 Azure Web App 指定的名称: Screenshot resource group items

web.config 在 CI/CD 管道期间正在正确转换,我仔细检查了那里的身份验证设置(租户、clientID、clientSecret),我真的不知道可能导致此问题的原因。

我在其他问题上发现的一个提示是检查 IIS 日志,但是当我尝试访问据说放置这些日志的目录时,我被拒绝访问,即使我拥有应用服务的所有者权限...


更新

经过漫长而疲惫的尝试和讨论过程,我们终于启动并运行了该应用程序。我们所做的一些观察可能对于其他遇到此问题或类似问题的人来说很有趣:

  • 基于角色的授权不起作用,因为我们忘记在应用程序注册的 list 文件中指定应用程序角色,然后将安全组链接到应用程序角色。查看此处了解更多信息:https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps
  • 我们有一个 API,该 API 仅在我们公司的域内可见。由于 Azure Web App 在该域之外运行,尝试访问该 API 会导致内部服务器错误。我们仍然需要找到解决方案。
  • 我们遇到过这样的情况:授权后对回复 URL 的请求将从 HTTPS 重定向到 HTTP。我们已经解决了这个问题,但由于五个人连续尝试一些东西,我们目前不知道修复实际上是什么。我们可能会创建另一个 Azure Web 应用程序,然后它可能会揭示解决方案的这一部分。

最佳答案

检查以确保 web.config 和应用程序设置中的内容与门户中应用程序注册的回复 URL 中的内容相匹配。可能有一些引用的回复 URL 不匹配。

您使用的是 openid 示例吗? https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect

还要确保您使用在租户下和应用程序本身拥有正确权限的用户登录。我和我的同事制作了一个简短的视频,其中包含可能对此用例有所帮助的正确配置。 https://www.youtube.com/watch?v=MohaxN6fsDs

关于asp.net-mvc - 将 ASP.NET 应用程序部署到 Azure Web 应用程序时出现 HTTP 403 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54197837/

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