我使用ASP .Net 4,我有一个使用表单身份验证的项目
<authentication mode="Forms">
<forms loginUrl="~/" timeout="7200" />
</authentication>
我在同一个项目中有一个Web服务,我想为一个页面(Web服务)禁用此Web身份验证
我试过那段代码:
<location path="WSBaseCentrale.asmx" allowOverride="false">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
但我有一个302重定向到表单登录。 是否可以禁用它?
修改
我试过了,并没有更好的效果。 当我访问该页面时(http://localhost/App/WSBaseCentrale.asmx),我总是被重定向到具有HTTP 302重定向的表单页面(http:// localhost / App /)。
<location path="WSBaseCentrale.asmx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
修改2
其他一些事实:
答案 0 :(得分:2)
这适用于我的网站
<location path="Services">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
答案 1 :(得分:2)
删除allowOverride="false"
同时删除<allow users="?"/>
并将其添加到<allow users="*"/>
最后,请确保您的webservice
位于根目录中,否则您必须相应地指定路径。
答案 2 :(得分:1)
<location path="WSBaseCentrale.asmx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
你尝试过这个吗?
此外,您应该检查IIS的匿名身份验证设置,可能是您无法匿名查看您的网站。