IIS 10.0 - 一个应用程序文件夹的AllowAnonymous(Controller无法运行)

时间:2017-07-27 12:14:34

标签: c# asp.net asp.net-mvc iis windows-authentication

我的ASP.NET网络应用程序使用的是Windows Authentication,我只想让anonymous个用户能够输入一个文件夹(让我们称之为"XYZ") 。 所以在XYZ我有一个由IIS创建的Web配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <authentication>
                <windowsAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>
</configuration>

XYZ内,我有一个HTML页面,并输入以下网址:

www.site.com/XYZ/htmlPage.html

开放时没有询问权限,一切都很好。 但是当我对我的控制器操作(控制器位于XYZ内)执行相同操作时,我收到401错误代码。

控制器:

[AllowAnonymous]
public class TestController : Controller
{
    [AllowAnonymous]
    public ActionResult Index()
    {
        return Content("Test content");
    }
}

路由:

        routes.MapRoute(
            name: "XYZRoute",
            url: "XYZ/{controller}/{action}/{id}",
            defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional });

不知道我在哪里犯了错误

1 个答案:

答案 0 :(得分:1)

您可以在<configuration>部分的主web.config中添加:

<location path="XYZ">
   <system.webServer>
    <security>
        <authentication>
            <windowsAuthentication enabled="false" />
        </authentication>
    </security>
</system.webServer>
</location>

您可以删除XYZ文件夹

中的删除网络配置