ASP.NET MVC AllowAnonymous无法正常工作

时间:2018-07-19 19:21:22

标签: c# asp.net

我在IIS中禁用了ASP.NET MVC项目匿名身份验证,已启用ASP.NET模拟,并且已启用Windows身份验证。

在我的web.config中,我有这个:

<authentication mode="Windows" />
<identity impersonate="true">

这部分工作正常,当我转到Web应用程序时,系统提示您输入用户名和密码,到目前为止一切正常。

我想要做的是允许匿名用户转到HomeController索引方法(Home / Index)

我已经像这样在Index方法上尝试过[AllowAnonymous]

[AllowAnonymous]
   public ActionResult Index () {
      return View();
   }

我也尝试过

<location path="HomeController/Index">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>

,仍然提示输入用户名和密码,我在做什么错?如何允许匿名用户转到主页/索引?

我也尝试过:

<location path="Home/Index">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>

那没有用。

2 个答案:

答案 0 :(得分:3)

您在配置文件中配置了错误的路径。约定是使用控制器名称,而不带控制器后缀。所以应该像这样:

<location path="Home/Index">

答案 1 :(得分:0)

在我使用ASP.NET MVC 5.x框架的项目中,[AllowAnonymous]属性似乎在我所有的控制器上都起作用(用[Authorize]属性装饰)分开来自HomeController

我最终将动作移至另一个控制器,并使其以这种方式工作。