我试图在我的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控制器上,什么也没有.如果授权属性也不会有效,那就更有意义了.我错过了什么吗?这是预期的行为还是测试版中的错误?