【发布时间】:2016-11-02 16:22:30
【问题描述】:
我想在 IIS 上托管一个 .Net Core 应用程序,该应用程序通过 Azure Active Directory 使用身份验证。现在我已经完成了在 VS 中完成新项目向导的基本站点设置,它在本地运行良好。但是,当我将项目部署到 IIS 并尝试打开页面时,它似乎陷入了无限循环,重定向到 Microsoft 登录页面,最终出现:
错误请求 - 请求太长
HTTP 错误 400。请求标头的大小太长。
知道我错过了什么吗?
【问题讨论】:
-
你查看过类似thread的回复吗?
-
@Bruce-MSFT 我确实认为这是某种 cookie 问题,但我很难相信这是“用户组太多”的结果......甚至与只属于一个组的用户一起工作。
-
您的错误处理和身份验证处理是什么样的?听起来您可能在“未经授权”操作上具有授权属性……或您为此使用的任何操作。因此,未经授权的响应或错误响应会将您发送回中间件,中间件将发送回登录然后失败然后重新开始整个过程。
-
@PatrickMcvay 好吧......我真的没有很好地掌握这些。我刚刚开始使用 AAD 身份验证。在设置一个部署后似乎无法正常工作的新项目时,我确实拥有开箱即用的东西。
-
@Warlord 099 stackoverflow.com/a/40728317/6158454 看看这篇文章。这实际上是我回答的帖子,但我将整个启动和自定义缓存放在那里。现在允许这是用于与 Microsoft Graph Api 进行来回对话,但所有身份验证仍将保持不变。只需省略在 services.AddMvc() 上添加的策略,我就知道身份验证有效。我还要尝试的另一件事是将 [AllowAnonymous] 放在所有控制器之上,看看是否会停止无限循环
标签: iis asp.net-core-mvc azure-active-directory