jjzjj

c# - 使 Web API 身份验证返回 401 而不是重定向到登录页面

我在WebMVC中有带有OWIN身份验证的WebAPI。我正在使用在我的WebMVC的Web.Config中,因此它重定向到登录页面。我正在使用[System.Web.Http.Authorize]属性来授权我的WebAPI。但不知何故,由于上述配置,API重定向到登录页面与我的MVC应用程序相同。我想做的是继续为WebMVC重定向功能,但为WebAPI返回401。我怎样才能做到这一点?我应该为WebAPI创建自定义授权属性吗?--编辑--我从这篇文章中找到了答案SuppressDefaultHostAuthenticationinWebApi.Owinalsosuppressinga

c# - 我可以让 HttpWebRequest 包含 Windows 凭据而不等待 401 挑战吗?

我的应用与需要身份验证的内部WebAPI通信。当我发送请求时,我收到了预期的401质询,握手发生,重新发送经过身份验证的请求,一切正常。但是,我知道需要授权。为什么我必须等待挑战?我可以强制要求在第一个请求中发送凭据吗?我的请求生成是这样的:privatestaticHttpWebRequestBuildRequest(stringurl,stringmethodType){varrequest=HttpWebRequest.CreateHttp(url);request.PreAuthenticate=true;request.AuthenticationLevel=Authenti

c# - ASP.NET WindowsAuthentication 自定义 401 未授权错误页面

我有一个使用ActiveDirectory进行身份验证的ASP.NET网站。现在,当经过身份验证的用户打开页面时-他会自动进行身份验证。我遇到了一个问题-当一个未经身份验证的用户(例如,一个没有定义network.automatic-ntlm-auth.trusted-uris属性的MozillaFirefox用户)打开一个页面,IIS发送401响应并提示输入登录名\密码。我想要的是不要提示他输入登录名\密码——只显示一个自定义错误页面。这听起来很简单——经过身份验证的用户获得请求的页面,未经过身份验证的用户被重定向到自定义错误页面。它适用于FormsAuthentication。但是

c# - WebRequest.GetResponse() 抛出错误 401 : Unauthorized

我有一个ASP.NET应用程序,我试图将以前访问过的本地aspx页面输出到html(它是一个报告,我想将它的静态html副本存储为存档)。我将本地页面的uri存储为:Session["SummaryURI"]=Request.Url.AbsoluteUri;然后在下一页中我检索它:stringurl=Session["SummaryURI"].ToString();url=url.Replace("static=false","static=true");//MessageLabel.Text=url;//CREATETHENEWFILEWebRequestreq=WebRequest

c# - 仅在特定机器上调用 Web 服务时出现 401

我们用C#开发了一个WPF应用程序,并使用RestSharp与一个简单的Web服务进行通信,如下所示:Client=newRestClient(serviceUri.AbsoluteUri);Client.Authenticator=newNtlmAuthenticator(SvcUserName,SvcPassword.GetString());一切都很好,直到我们接到电话说在某些机器上(大多数工作)应用程序无法连接到服务。使用fiddler直接调用服务方法有效。然后我们提取了一个小型.net控制台应用程序并尝试使用RestSharp和直接使用HttpWebRequest进行服务调用

c# - HTTPClient 在成功之前获得两个 401(发送错误的 token )

我正在尝试使用HttpClient与自托管WebAPI客户端通信。使用以下代码创建客户端:HttpClientHandlerclientHandler=newHttpClientHandler(){UseDefaultCredentials=true,PreAuthenticate=true};varclient=newHttpClient(clientHandler);在服务器端我们设置:HttpListenerlistener=(HttpListener)app.Properties[typeof(HttpListener).FullName];listener.Authentic

javascript - 请求的资源上不存在 'Access-Control-Allow-Origin' header + 响应具有 HTTP 状态代码 401

XMLHttpRequestcannotloadhttp://192.168.1.253:8080/...No'Access-Control-Allow-Origin'headerispresentontherequestedresource.Origin'http://localhost:4200'isthereforenotallowedaccess.TheresponsehadHTTPstatuscode401.非常常见的错误,有很多可能的解决方案都没有奏效。我了解(我认为)CORS应该如何工作,而且我没有发现我的HTTPheader有任何问题,但它仍然不起作用来自Chrome:

javascript - 您如何将状态 401 从 WebAPI 返回到 AngularJS 并包含自定义消息?

在我的WebAPI类ApiController中,我进行如下调用:stringmyCustomMessage=.....;thrownewHttpResponseException(newHttpResponseMessage(HttpStatusCode.Unauthorized){ReasonPhrase=myCustomMessage});当我使用AngularJS$resource服务调用时,我确实在响应的状态字段中得到401,在promise的catchblock中。401匹配HttpStatusCode.Unauthorized,所以一切正常。但是,问题在于响应的数据字段为

javascript - 如何处理 axios 中的 401(身份验证错误)并使用react?

我有一个文件request.js,其中包含axiosajax请求的包装器。我正在从多个react组件调用请求函数,当其中一个请求失败时,我想刷新token并再次重试所有失败的请求。我可以使用拦截器,但我不知道如何实现它。请帮忙。请求.jsvarclient=axios.create({baseURL:'http://192.168.1.3:3000',headers:{appID:8,version:"1.1.0",empID:localStorage.getItem('empID'),token:localStorage.getItem('accessToken')}});const

javascript - 如何避免 $compile :tpload errors on 401 status code response

我们正在使用AngularJS和ASP.NETMVCJsonRestAPI开发单页应用程序。当未经身份验证的客户端尝试导航到私有(private)路由(例如:/Foo/Home/Template)以获取模板时,它会自动从WebAPI和我们的AngularJS应用程序获得401响应将其重定向到登录页面。我们正在用$httpinterceptor处理401像这样:if(response.status===401){$location.path(routeToLogin);return$q.reject(response);}输入正确的凭据允许客户端获取模板。除一个细节外,一切正常;Java