2012-02-20 48 views
2

AuthorizeAttribute显示出来很好,但对于我的生活,我无法弄清楚AllowAnonymousAttribute类的位置。MVC的AllowAnonymousAttribute没有出现

每当我将它添加到代码,我得到编译器错误。

[Authorize] //works fine 
public ActionResult DoSomething(){ 
    ... 
} 

[AllowAnonymous] //COMPILER ERROR type not found. Red squigglies. Bad. 
public ActionResult Foo() { 
    ... 
} 

我在一个MVC3项目。

+0

AllowAnonymous - 这是一个自定义属性?... – 2012-02-20 15:19:51

+1

@EvgeniyLabunskiy不,它是一个MVC4属性。 – 2013-05-07 12:04:00

+0

@Husein我很惊讶,导致标题的主题是asp.net-mvc-3 – 2013-05-07 12:27:57

回答

5

ASP.NET MVC 3,或者更精确地说System.Web.Mvc版本3.0.0.0程序集不包含AllowAnonymousAttribute。

它在ASP.NET MVC 4补充说:http://msdn.microsoft.com/en-us/library/system.web.mvc.allowanonymousattribute_methods%28v=vs.108%29.aspx

有一个AllowAnonymousAttribute在System.Web.Http组装为好,但我无法得到它与我的ASP.NET MVC 3项目的工作:http://msdn.microsoft.com/en-us/library/system.web.http.allowanonymousattribute%28v=vs.108%29.aspx

0

默认情况下,所有操作都提供对匿名用户的访问。

这里是匿名属性的安全实现很好的例子: http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx

还是这个(自定义的例子[授权]属性): http://schotime.net/blog/index.php/2009/02/17/custom-authorization-with-aspnet-mvc/

+0

是的,当然。我需要做的更多的是所有行动都需要认证的情况,而只有少数行动可以允许匿名访问。 – 2012-02-20 18:51:35

+0

第一个例子完全代表你需要:) – 2012-02-20 20:02:50