asp.net-mvc-4 – ASP.NET Web API的自定义MVC AuthorizeAttribute
|
我试图在我的Web API控制器上实现一个自定义授权属性,但遇到了一个意想不到的行为. <Authorize(Users:="myUser")>
Public Function GetTodoItems() As IQueryable(Of TodoItem)
上面的代码工作得很好:它将允许“myUser”检索项目,bot没有人被允许访问.但是,当我通过自定义授权尝试相同的方法时,将跳过整个检查,任何用户都可以访问该资源.我的派生类中的AuthorizeCore和OnAuthorization被覆盖的方法都不被调用. <MyAuth(Users:="myUser")>
Public Function GetTodoItems() As IQueryable(Of TodoItem)
派生类继承自System.Web.Mvc.AuthorizeAttribute,该项目部署在IIS上,Windows Authentication&启用模拟,禁用匿名身份验证. 如果我添加相同的自定义授权给MVC控制器,那么它的工作.但在API控制器上,什么也没有.如果授权属性也不会有效,那就更有意义了.我错过了什么吗?这是预期的行为还是测试版中的错误? 解决方法您应该使用System.Web.Http.Attribute从System.Web.Http.dll为Web API而不是System.Web.Mvc.AuthorizeAttribute.也就是说,因为名称空间System.Web.Http.AuthorizeAttribute是从AuthorizationFilterAttribute派生的.过滤器由Web API自动处理.在我自己的实现中,我直接从AuthorizationFilterAttribute派生来处理基本的HTTP身份验证. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用OWIN的Google身份验证Oauth在MVC5中没有
- ASP.NET MVC错误处理 – 删除aspxerrorpath
- asp.net – ClientScriptManager.GetPostBackEventReferenc
- asp.net-mvc – ASP.NET MVC快速启动 – 一站式教程?
- 您希望在初学者的ASP.NET安全手册中看到什么?
- asp.net-web-api – WebApi 2.1 PUT抛出错误415
- asp.net-mvc – 使用单元测试在asp.net mvc中验证重定向
- asp.net – NewRelic – 如何忽略Web应用程序的一部分
- asp.net-mvc-4 – 使用Twitter Bootstrap 3放置验证消息的最
- asp.net – HTML divs可以在浏览器窗口之外?
- ASP.NET“死亡黄屏”如何显示代码?
- asp.net-mvc-4 – Twitter Bootstrap nuget包差异
- asp.net-mvc – 在ASP.NET MVC中的LinkButton
- .net – 测试项目中的App.config
- asp.net – IIS7:禁用子应用程序中的HttpModule
- iis – 如何从服务器上的经典asp页面执行bat文件
- asp.net-mvc – MVC DropDownListFor和StringLen
- asp.net-mvc – MVC4中的ELMAH和API控制器不记录
- ASP.NET web.config文件是否失控?
- asp.net-mvc – 为现有项目添加标识
