在ASP.Net身份验证中,将AuthorizeAttribute扩展类放在何处?

在ASP.Net身份验证中,将AuthorizeAttribute扩展类放在何处?,asp.net,asp.net-mvc-3,authentication,authorization,Asp.net,Asp.net Mvc 3,Authentication,Authorization,在为ASP.NET实现授权时,我应该将AuthorizeAttributeimplemented类放在哪里 在我的项目中,我创建了一个名为BasicHttpAuthorizedAttribute的类,该类实现了System.Web.Http.AuthorizeAttribute类,并且覆盖了我想要的方法 我已将此BasicHttpAuthorizedAttribute类注册为筛选器 我的问题是,即使我没有提到controller方法顶部的[Authorized]属性,也会调用BasicHttpA

在为ASP.NET实现授权时,我应该将
AuthorizeAttribute
implemented类放在哪里

在我的项目中,我创建了一个名为
BasicHttpAuthorizedAttribute
的类,该类实现了
System.Web.Http.AuthorizeAttribute
类,并且覆盖了我想要的方法

我已将此
BasicHttpAuthorizedAttribute
类注册为筛选器

我的问题是,即使我没有提到controller方法顶部的
[Authorized]
属性,也会调用
BasicHttpAuthorizedAttribute
类的
OnAuthorization()
方法

不应该是这样的,对吧?只有在控制器方法顶部提到了
[Authorized]
属性时,才应该调用它。我说得对吗


我做错了什么?(我的项目是一个ASP.NETWebAPI项目,我正在使用
System.web.Http.AuthorizeAttribute
类)

基本上,它每次都进入
OnAuthorization()
事件,因为您已将其注册为筛选器

这篇文章提供了一些关于一揽子过滤和匿名异常的技巧和旅行,我想这正是你想要的。它可能适用于MVC,但所使用的技术应该适用于大多数ASP.NET类型,只需稍加调整

文章中的示例:

[HttpPost]
[AllowAnonymous]
public ActionResult LogOn(LogOnModel model, string returnUrl)

因为您已将其注册为筛选器,所以无论如何都会调用它。@steen是的,那么我应该如何添加它?请看这篇时髦的文章,其中解释了它的用法以及一些提示和技巧: