我在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>
那没有用。
答案 0 :(得分:3)
您在配置文件中配置了错误的路径。约定是使用控制器名称,而不带控制器后缀。所以应该像这样:
<location path="Home/Index">
答案 1 :(得分:0)
在我使用ASP.NET MVC 5.x框架的项目中,[AllowAnonymous]
属性似乎在我所有的控制器上都起作用(用[Authorize]
属性装饰)分开来自HomeController
。
我最终将动作移至另一个控制器,并使其以这种方式工作。