C# 我想在web.config中授予默认文档匿名访问权限
我有一个站点在站点范围内使用表单身份验证,其中的一些页面是允许匿名访问的例外。我希望通过匿名访问可以查看默认文档index.aspx。如果我在url中指定index.aspx,它会授予我访问权限,但是如果我只键入域名,我会被重定向到connectionTest.aspx(站点的登录页面)。我已经确认index.aspx是默认文档。因此,index.aspx的web配置条目有问题C# 我想在web.config中授予默认文档匿名访问权限,c#,asp.net,iis,C#,Asp.net,Iis,我有一个站点在站点范围内使用表单身份验证,其中的一些页面是允许匿名访问的例外。我希望通过匿名访问可以查看默认文档index.aspx。如果我在url中指定index.aspx,它会授予我访问权限,但是如果我只键入域名,我会被重定向到connectionTest.aspx(站点的登录页面)。我已经确认index.aspx是默认文档。因此,index.aspx的web配置条目有问题 <authentication mode="Forms"> <forms name=".ASPX
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="connectionTest.aspx" timeout="30" />
</authentication>
<sessionState mode="InProc" cookieless="false" timeout="30" />
<authorization>
<deny users="?" />
</authorization>
<location path="~/index.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="index.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
您的问题是因为您没有在表单身份验证上声明
域。由于身份验证基于cookie,您需要在不使用前面的www.
的情况下访问它,因此您需要将其声明为:
<authentication mode="Forms">
<forms name=".ASPXAUTH" domain="demo.com" loginUrl="connectionTest.aspx" timeout="30" />
</authentication>
您的问题是因为您没有在表单身份验证上声明域。由于身份验证基于cookie,您需要在不使用前面的www.
的情况下访问它,因此您需要将其声明为:
<authentication mode="Forms">
<forms name=".ASPXAUTH" domain="demo.com" loginUrl="connectionTest.aspx" timeout="30" />
</authentication>
您尝试过在路径中不使用“~/”吗?是的,为了简洁起见,我没有发布web.config的那部分内容,但我将其添加到了帖子中。这就是为什么指定了index.aspx的url可以工作,但作为默认文档,它不能工作。您尝试过在路径中不使用“~/”吗?是的,为了简洁起见,我没有发布web.config的这部分内容,但我将其添加到了帖子中。这就是为什么指定了index.aspx的url可以工作,但作为默认文档,它不能工作。我添加了这个,但它似乎没有做任何事情。无论如何,我会保留它,因为这似乎是一个好主意,但这似乎不是我的错误。我添加了这个,但它似乎没有任何作用。无论如何我都会保留它,因为这似乎是个好主意,但这似乎不是我的错误