gpt4 book ai didi

asp.net - ASP.Net Web API 中的 HandleUnauthorizedRequest

转载 作者:行者123 更新时间:2023-12-02 16:59:48 24 4
gpt4 key购买 nike

我正在开发 ASP.Net Web API 应用程序,并使用 AuthorizeAttribute 进行身份验证。当认证失败时,执行的代码是这样的。

protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
{
HttpContext.Current.Response.AddHeader("AuthenticationStatus", "NotAuthorized");
actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Forbidden);
return;
}

此代码会显示来自浏览器的未经授权的请求页面,但我想要的是显示我设计的自定义页面。我该怎么做?

最佳答案

看看这个:http://weblogs.asp.net/jgalloway/archive/2012/03/23/asp-net-web-api-screencast-series-part-6-authorization.aspx

它的基本意思是,您必须检查客户端的结果代码,如果是 401(未经授权),请将用户重定向到您设计的自定义页面:

$(function () { 
$("#getCommentsFormsAuth").click(function () {
viewModel.comments([]);
$.ajax({ url: "/api/comments",
accepts: "application/json",
cache: false,
statusCode: {
200: function(data) {
viewModel.comments(data);
},
401: function(jqXHR, textStatus, errorThrown) {
self.location = '/Account/Login/';
}
}
});
});
});

关于asp.net - ASP.Net Web API 中的 HandleUnauthorizedRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11735324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com