Thi*_*ena 2 asp.net authorization custom-error-pages asp.net-web-api
我正在开发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;
}
Run Code Online (Sandbox Code Playgroud)
此代码导致从浏览器显示未授权的请求页面,但我想要的是显示我设计的自定义页面.我怎么做?任何帮助表示赞赏.
提前致谢.
小智 6
看看这个: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/';
}
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
希望它有所帮助,问候
| 归档时间: |
|
| 查看次数: |
7133 次 |
| 最近记录: |