asp.net-mvc-4 – 返回状态代码未经授权在WebAPI中定制IActionFilter
发布时间:2020-05-23 18:19:34 所属栏目:asp.Net 来源:互联网
导读:我正在使用asp.net WebAPI,我需要创建一个自定义的ActionFilter,快速检查以查看请求URI的用户是否应该能够实际获取数据。 他们已被授权通过基本身份验证使用Web服务,并且角色已通过自定义角色提供程序进行验证。 我需要做的最后一件事是检查他们是否有权利
|
我正在使用asp.net WebAPI,我需要创建一个自定义的ActionFilter,快速检查以查看请求URI的用户是否应该能够实际获取数据。 他们已被授权通过基本身份验证使用Web服务,并且角色已通过自定义角色提供程序进行验证。 我需要做的最后一件事是检查他们是否有权利在URI中使用参数来查看他们要求的数据。 这是我的代码: public class AccessActionFilter : FilterAttribute,IActionFilter
{
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> ExecuteActionFilterAsync(HttpActionContext actionContext,System.Threading.CancellationToken cancellationToken,Func<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>> continuation)
{
var result = //code to see if they have permission returns either 0 or 1
if (result==0) {
throw new ArgumentException("You do not have access to this resource");
}
return continuation();
}
}
目前我只是抛出一个不是我想要的错误,我宁愿返回System.Net.HttpStatusCode.Unauthorized,但我有点被我所压倒的方法,我完全不了解它。 我该如何回报这个价值? 解决方法你可能最好坚持一个例外,但使用HttpResponseException也将返回一个Http状态代码。throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Unauthorized)); 很好的问题here关于这个。 附: 实现ActionFilterAttribute可能更简单/更清洁 public class AccessActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
var result = //code to see if they have permission returns either 0 or 1
if (result==0)
{
throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Unauthorized));
}
base.OnActionExecuting(actionContext);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – DataAnnotation Range属性的客户端验证之
- asp.net – 如何绑定gridview中的下拉列表?
- telerik – Kendo DatePicker对自定义日期格式的验证失败
- asp.net – 在不使用HttpRequest的情况下获取主机名
- asp.net-mvc – 如何在Visual Studio 2017中构建时嵌入资源
- asp.net-mvc – 所有ASP.NET Web API控制器返回404
- .net – 是否必须在自定义实现中覆盖默认的成员资格提供程序
- model-view-controller – 比较Dates DataAnnotations验证a
- asp.net – 本地化mvc中的默认模型验证2
- asp.net-mvc – 将HttpRequestMessage转换为HttpRequest
推荐文章
站长推荐
- asp.net – 表单身份验证web.config设置
- 如何下载特定版本的ASP.NET MVC 5源代码
- asp.net-mvc – ASP.NET MVC的初学者在线资源是什
- asp.net-mvc-3 – MVC:为此对象定义的无参数构造
- asp.net-mvc-3 – jQuery.validator.unobtrusive
- ASP.NET 高性能分页代码
- 休息 – OData与GraphQL GraphQL比较OData有什么
- asp.net-web-api – 如何从ASP.net 5 web api返回
- asp.net – 通过IP地址在IIS 6中调节Bandands
- model-view-controller – 比较Dates DataAnnota
热点阅读
