AuthorizeAttribute显示得很好,但就我而言,我无法弄清楚AllowAnonymousAttribute类的位置。
每当我将它添加到代码中时,我都会遇到编译错误。
[Authorize] //works fine
public ActionResult DoSomething(){
...
}
[AllowAnonymous] //COMPILER ERROR type not found. Red squigglies. Bad.
public ActionResult Foo() {
...
}
我在MVC3项目中。
答案 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/