MVC的AllowAnonymousAttribute没有显示出来

时间:2012-02-20 15:14:25

标签: c# asp.net-mvc-3 reference http-authentication

AuthorizeAttribute显示得很好,但就我而言,我无法弄清楚AllowAnonymousAttribute类的位置。

每当我将它添加到代码中时,我都会遇到编译错误。

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

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

我在MVC3项目中。

2 个答案:

答案 0 :(得分: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

在System.Web.Http程序集中也有一个AllowAnonymousAttribute,但我无法使用我的ASP.NET MVC 3项目:http://msdn.microsoft.com/en-us/library/system.web.http.allowanonymousattribute%28v=vs.108%29.aspx

答案 1 :(得分:0)

默认情况下,所有操作都可以访问匿名用户。

以下是使用Anonymous属性进行安全性实施的好例子: http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx

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