asp.net-mvc-4 – 返回状态代码未经授权在WebAPI中定制IActionFi
发布时间:2020-12-16 00:27:53 所属栏目: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 – 在网页中显示OLAP SQL Server?
- asp.net-mvc – 隐藏日期时间的ASP.NET MVC格式
- asp.net-mvc – asp.net MVC应该是View-Model封装域模型吗?
- asp.net – 没有回发的日历控件
- asp.net – 如何判断一个方法是否在UpdatePanel回发中运行?
- asp.net – 什么时候Response.IsClientConnected慢?
- asp.net – RegisterStartupScript不能使用ScriptManager,U
- asp.net-mvc – ASP.net MVC中的流畅验证 – 数据库验证
- asp.net – 组合两个List(Of String)最有效的方法是什么?
- asp.net-mvc-3 – 在Razor View模型中添加一个类到Ajax.Beg
推荐文章
站长推荐
- ASP.NET – IHttpModule.BeginRequest触发2X,App
- asp-classic – VBScript似乎是来自嵌套作用域的
- asp.net – System.Diagnostics.Process.Start不
- 【Asp.Net MVC+EF+三层架构】详解(二)MVC学习
- asp.net-mvc – ASP.Net MVC中的线程安全性
- asp.net-mvc – LINQ to SQL分页和COUNT(*)
- asp.net-mvc – ASP.NET MVC – 向ActionLinks添
- asp.net – 在WatiN中如何等到回发完成
- 如何从ASP.NET MVC中的自定义帮助程序中访问当前
- asp.net – 将Windows身份验证重定向到自定义401
热点阅读