我正在尝试在我的 Web API 控制器上实现自定义授权属性,但遇到了意外行为。
<Authorize(Users:="myUser")>
Public Function GetTodoItems() As IQueryable(Of TodoItem)
上面的代码工作得很好:它将允许“myUser”检索项目,机器人没有其他人被允许访问。但是,当我使用自定义授权尝试相同的方法时,会跳过整个检查,并且任何用户都可以访问该资源。我的派生类中的 theAuthorizeCore
和覆盖的方法都没有被调用。OnAuthorization
<MyAuth(Users:="myUser")>
Public Function GetTodoItems() As IQueryable(Of TodoItem)
派生类继承自System.Web.Mvc.AuthorizeAttribute
,项目部署在 IIS 上,启用Windows 身份验证和模拟,禁用匿名身份验证。
如果我将相同的自定义授权添加到 MVC 控制器,那么它可以工作。但是在 API 控制器上,什么都没有。如果该Authorize
属性也不起作用,那将更有意义。我错过了什么吗?这是预期的行为,还是 Beta 版中的错误?