我对所有事情都很陌生,所以我希望这很容易解决!
我已经编写了一个使用基本身份验证的API。它在本地主机上运行得非常好,当我尝试从浏览器进行GET调用时,它会弹出询问我的用户名/密码。我输入它,它做了应有的事情。
然而,在我将它发布到我们的服务器后,它停止工作。如果我做同样的事情,它只会返回错误而不是挑战。
这是它在服务器端返回的内容。
发生了错误。
没有OWIN身份验证管理器与之关联 请求。
System.InvalidOperationException
at System.Web.Http.Owin.PassiveAuthenticationMessageHandler.SuppressDefaultAuthenticationChallenges(HttpRequestMessage 请求) System.Web.Http.Owin.PassiveAuthenticationMessageHandler.d__0.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()at System.Web.Http.HttpServer.d__0.MoveNext()
答案 0 :(得分:0)
我不确定这是一个很好的解决方案,但我设法解决了这个问题。
阅读此https://katanaproject.codeplex.com/discussions/531740
后我在网络配置中添加了<modules runAllManagedModulesForAllRequests="true">
。
这给了我需要的用户名/密码提示。
修复后,我意识到在IIS设置中打开了基本身份验证,导致它循环登录提示。一旦我把它关掉了,我就没有问题了。
希望如果有其他人遇到这种情况,这会有所帮助。