【发布时间】:2012-07-25 21:32:21
【问题描述】:
在为 ASP.NET 实现授权时,我应该将AuthorizeAttribute 实现的类放在哪里?
在我的项目中,我创建了一个名为 BasicHttpAuthorizedAttribute 的类,它实现了 System.Web.Http.AuthorizeAttribute 类,并且我已经覆盖了我想要的方法。
我已将此BasicHttpAuthorizedAttribute 类注册为过滤器。
我的问题是即使我没有提到控制器方法顶部的 [Authorized] 属性,BasicHttpAuthorizedAttribute 类的 OnAuthorization() 方法也会被调用。
不应该是这样的,对吧?仅当您在控制器方法顶部提到 [Authorized] 属性时才应调用它。我说的对吗?
我在这里做错了什么? (我的项目是一个 ASP.Net web api 项目,我使用的是System.Web.Http.AuthorizeAttribute 类)
【问题讨论】:
-
因为你已经将它注册为过滤器,所以无论如何都会调用它。
-
@steen 是的,那我应该如何添加它?
-
看看这篇解释用途和一些技巧和窍门的时髦文章:blogs.msdn.com/b/rickandy/archive/2011/05/02/…
标签: asp.net asp.net-mvc-3 authentication authorization