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