Can';无法使简单的Azure AD ASP.NET认证web应用程序正常工作

Can';无法使简单的Azure AD ASP.NET认证web应用程序正常工作,asp.net,azure,oauth,owin,Asp.net,Azure,Oauth,Owin,我使用了ASP.NET Webforms应用程序的Visual Studio模板和Azure AD身份验证来创建一个简单的web应用程序。它在本地运行100%良好。我可以登录,注销,一切都好。但是,每当我部署到AWS或Azure时,行为都会发生变化。登录仍然很好,没有任何问题,但在登录后,浏览器没有带我去网站,而是考虑了很久才将我推到浏览器中的这个错误: “/”应用程序中出现服务器错误 运行时错误描述:服务器上发生应用程序错误 服务器。此应用程序的当前自定义错误设置阻止 远程查看应用程序错误的详

我使用了ASP.NET Webforms应用程序的Visual Studio模板和Azure AD身份验证来创建一个简单的web应用程序。它在本地运行100%良好。我可以登录,注销,一切都好。但是,每当我部署到AWS或Azure时,行为都会发生变化。登录仍然很好,没有任何问题,但在登录后,浏览器没有带我去网站,而是考虑了很久才将我推到浏览器中的这个错误:

“/”应用程序中出现服务器错误

运行时错误描述:服务器上发生应用程序错误 服务器。此应用程序的当前自定义错误设置阻止 远程查看应用程序错误的详细信息(用于 安全原因)。但是,它可以被运行在上的浏览器查看 本地服务器计算机

详细信息:允许显示此特定错误消息的详细信息 可在远程计算机上查看,请在 位于的根目录中的“web.config”配置文件 当前web应用程序。然后,该标记应具有其 “模式”属性设置为“关闭”

我已经尝试过添加web.config设置并重新部署,结果没有什么不同。因为我正在Azure上使用应用程序服务,所以我无法在实际的web服务器上运行该站点,因为我没有访问权限。我试着查看诊断日志流,得到了以下结果?请帮忙?任何人我不知道为什么这不起作用。有趣的是,尽管我要求该站点是http,并且在本地作为http运行,但一旦上传,url就会变成https。不确定这是否相关

来自流日志(Azure)

HTTP错误500.0-内部服务器错误页面无法访问 由于发生内部服务器错误,无法显示。 很可能 原因:
  • IIS收到请求;但是,内部 处理请求时出错。根本原因 此错误取决于哪个模块处理请求以及请求的内容 发生此错误时在辅助进程中发生
  • IIS无法访问网站的web.config文件 或应用程序。如果设置了NTFS权限,则可能发生这种情况 错误。
  • IIS无法处理的配置 网站或应用程序。
  • 经过身份验证的用户没有 拥有使用此DLL的权限。
  • 请求映射到 托管处理程序,但不支持.NET扩展功能 已安装。
您可以尝试的内容:
  • 确保web.config文件的NTFS权限为 更正并允许访问Web服务器的计算机帐户
  • 检查事件日志以查看是否有任何其他信息被删除 已记录。
  • 验证DLL的权限
  • 如果请求已映射,请安装.NET扩展功能 到托管处理程序。
  • 创建跟踪规则以跟踪失败 请求此HTTP状态代码。有关 为失败的请求创建跟踪规则,请单击此处
详细错误信息: 模块u动态模块u Microsoft.Owin.Host.SystemWeb.OwinHttpModule, Microsoft.Owin.Host.SystemWeb,版本=3.0.1.0,区域性=中性, PublicKeyToken=31bf3856ad364e35_79846f5c-7e22-4a97-8a1c-24bc400cf7db 通知结束请求 HandlerExtensionlessUrlHandler-Integrated-4.0 错误代码0x00000000
请求 统一资源定位地址 物理的 路径:\home\site\wwwroot登录方法尚未启动 已确定登录用户不是 尚未决定 更多信息:此错误意味着 处理请求时出现问题。该请求已被收到 Web服务器,但在处理过程中发生致命错误,导致 错误是500 看法 更多信息»

Microsoft知识库 文章:


您是否检查了azure portal上日志流下的应用程序日志和Web服务器日志?从您提供的错误中,我们找不到任何潜在原因,您是否可以检查所有日志并尝试查找一些特定错误,以便我们定位此问题,或者您可以为我们提供一个示例项目来重现此问题。我将这样做,并让您知道。此后,我尝试了一个不同的ASP.NET Webforms站点模板,该模板通过openIdConnect集成到Azure广告,并且成功了(不过,这是通过AWS Elastic Beanstalk部署的,而不是通过Azure部署的)