我的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 });
不知道我在哪里犯了错误
答案 0 :(得分:1)
您可以在<configuration>
部分的主web.config中添加:
<location path="XYZ">
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
您可以删除XYZ
文件夹