匿名访问aspx页面失败
我有一个使用表单身份验证的网站。大多数情况下,我的网站需要身份验证才能执行任何操作。我的隐私声明页面是例外情况,必须由匿名用户访问。 的页面是一个文件夹中,我已经设置在web.config中的位置路径信息如下:匿名访问aspx页面失败
<location path="about">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location allowOverride="true">
<system.web>
<authentication mode="Forms">
<forms name="FDAuth"
cookieless="UseCookies"
protection="All"
loginUrl="login.aspx"
requireSSL="false"
slidingExpiration="false"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
该配置允许其他文件类型匿名访问,但是仍然会提示输入登录的aspx页面。
换句话说,允许匿名访问此页
www.mywebsite.com/about/privacy.asp
,但我去到Login.aspx页,如果我尝试访问上网本
页www.mywebsite.com/about/privacy.aspx
什么我需要做的,允许 www.mywebsite.com/about/privacy.aspx匿名访问?
还有一两件事:添加行<allow users="?"/>
*
用户匹配任何身份验证的用户名,而?
比赛所有未经验证的人。
所以,你会这样:
<location path="about">
<system.web>
<authorization>
<allow users="*"/>
<allow users="?"/>
</authorization>
</system.web>
</location>
刚内取出<location allowOverride="true">
元素和配置<authorization/>
<system.web/>
<location>
标签被用来定义例外全球政策,这通常是在定义<authorization/>
在<system.web/>
之内。
这就是我最初的样子,但基于这个答案改变了它类似的问题http://*.com/questions/1354185/how-do-i-grant-anonymous-access-to-a-url- using-formsauthentication两种方式都不允许匿名访问/about/privacy.aspx页面 – jeffc 2010-08-03 19:05:40
你应该尝试:
<location path="about">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
注意?
而不是用于匿名访问的*
。
这应该可以解决你的问题,但如果没有你可以指定一个特定的资源:
<location path="about\privacy.aspx">
感谢您的回复,但是做出这样的改变并没有解决问题。 – jeffc 2010-08-03 19:03:26