我对所有事物都比较陌生,所以希望这是一个简单的解决方法!

我已经编写了使用基本身份验证的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设置中启用了基本身份验证会导致其循环登录提示。一旦我关闭它,我就没有更多问题了。

希望这对其他人有帮助。

07-25 22:49