asp.net – 当我试图强制401时,自定义授权过滤器总是返回404
发布时间:2020-07-31 12:03:16 所属栏目:asp.Net 来源:互联网
导读:我正在尝试编写自己的授权属性,在那里我使用CustomAuthorization属性对任何web api方法执行一些自定义检查. 我的代码如下: [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = false)] public class C
|
我正在尝试编写自己的授权属性,在那里我使用CustomAuthorization属性对任何web api方法执行一些自定义检查. 我的代码如下: [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method,AllowMultiple = false,Inherited = false)]
public class CustomAuthorization : AuthorizationFilterAttribute
{
public override void OnAuthorization(AuthorizationContext context)
{
//// Attempt 1 - 404 error.
//// Doesnt block method with this attribute from executing (not desired behaviour).
//context.HttpContext.Response.StatusCode = 401;
//return;
//// Attempt 2 - 404 result.
//// Code with attribute doesnt execute (desired).
//// Error thrown says: An exception of type 'System.Web.Http.HttpResponseException' occurred in <namespace> but was not handled in user code
//// Additional information: Processing of the HTTP request resulted in an exception. Please see the HTTP response returned by the 'Response' property of this exception for details.
//throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Unauthorized));
// Attempt 3 - 404 result.
// Code with attribute doesnt execute (desired).
context.Result = new HttpUnauthorizedResult();
}
}
我遇到的问题是我从网络API而不是预期的401获得404响应.我做错了什么? 这是asp.net核心1. 提前致谢! 解决方法这可能是因为您有身份验证设置重定向到401响应的登录页面,并且找不到登录页面(发生在我身上).(编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET AJAX与ASP.NET MVC中的jQuery
- 看美剧英文字幕学英语的利器深蓝英文字幕助手简介
- https://github.com/hoyuhub
- asp.net-mvc – ASP.NET MVC会话超时,绝对还是滑动?
- 手动把asp.net的类生成dll文件的方法
- asp.net-mvc-2 – 使用’class(或其他保留关键字)作为匿名类
- asp.net – 如何以二进制格式下载存储在SQL DB中的文件
- asp.net-mvc – 如何从mvc中的控制器中设置隐藏字段的值
- asp.net-mvc – 为什么我得到一个“无法更新EntitySet,因为
- asp.net – 将web应用程序的项目编译成dll
