Asp.net mvc 4 Asp.net MVC 4 web应用程序中的身份验证和授权

Asp.net mvc 4 Asp.net MVC 4 web应用程序中的身份验证和授权,asp.net-mvc-4,Asp.net Mvc 4,我知道如何在asp.NETWebForm应用程序中使用授权和身份验证属性,但我需要将我的旧网站升级到MVC4,对此我是新手,不知道它在这里是如何工作的 我试图在web.config文件中全局使用它,但它对我没有帮助。 我对我想对匿名用户隐藏的内容使用了[Authorize]属性,并使用[AllowAnonymous]属性允许匿名用户访问。 另外,我在web.config文件中启用了身份验证,但仍然没有从中得到任何期望的结果。 只要我在任何页面上应用[Authorize]属性,它就不允许甚至是经过

我知道如何在asp.NETWebForm应用程序中使用授权和身份验证属性,但我需要将我的旧网站升级到MVC4,对此我是新手,不知道它在这里是如何工作的

我试图在web.config文件中全局使用它,但它对我没有帮助。
我对我想对匿名用户隐藏的内容使用了
[Authorize]
属性,并使用
[AllowAnonymous]
属性允许匿名用户访问。
另外,我在
web.config
文件中启用了身份验证,但仍然没有从中得到任何期望的结果。
只要我在任何页面上应用
[Authorize]
属性,它就不允许甚至是经过身份验证的用户。
任何帮助都将不胜感激。
我使用了以下代码

Global.asax文件中:

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new LogonAuthorize());
    filters.Add(new HandleErrorAttribute());
    filters.Add(new System.Web.Mvc.AuthorizeAttribute());
    filters.Add(new RequireHttpsAttribute());
}
例如,我想禁止匿名用户访问我的主页,我用过

[Authorize]
public ActionResult Index()
{
    return View();
}
登录页面上我使用了

[AllowAnonymous]
[HttpPost]
public ActionResult Login()
{
    return View();
}
在我使用的web.config文件中

 <authentication mode="Forms">
     <forms loginUrl="~/Account/Login" timeout="2880" />
 </authentication>
 <authorization>
     <deny users="?"/>
 </authorization>


但是我遇到了和我前面提到的一样的问题。如果您有任何需要解释的帮助,我们将不胜感激。

在我看来,您有多个全局授权筛选器,并且您也在使用授权修饰类。什么是
LogonAuthorize()

如果要使用全局AuthorizeAttribute筛选器,则不要在类上使用authorized,而只在希望匿名用户访问的方法上使用AllowAnonymous

从web.config中删除任何授权元素。离开身份验证元素

(刚刚注意到,这是6个月大的……我怀疑你还在看)