我有一个我以前从未见过的奇怪问题。当我请求新的Web服务的WSDL时 - > https://www.website.com/serviceapp/SVC1.asmx?WSDL< - 请求被修改,因此网址如下: - > http://www.website.com/serviceapp/Default.aspx?ReturnUrl=%2fserviceapp%2fSVC1.asmx%3fWSDL&WSDL< - 这当然导致找不到资源'错误。在涉及到webservices时,我不是一个专家,所以这可能是一个简单的配置问题?服务应用程序文件夹位于根网站文件夹中。 web.config身份验证元素如下所示:
<authentication mode="Forms">
<forms name=".ASPXXYZ" loginUrl="Default.aspx" protection="All" path="/" timeout="60"/>
</authentication>
这可能是问题的一部分吗?无论我在目录中的哪个位置,是否都会调用登录URL?提前感谢您的帮助。
答案 0 :(得分:0)
将另一个web.config文件添加到 serviceapp 文件夹并添加:
<authorization>
<allow users ="*" />
</authorization>
到 system.web 节点下 serviceapp 文件夹中的web.config。
这样,任何人都可以访问 serviceapp 文件夹中的任何,但不能访问应用的根目录。
现在,我假设您正在使用基于表单的身份验证,因此任何尝试访问您的应用程序的任何URL的人都会被拒绝访问,直到他们登录。当您允许所有用户访问特定文件夹时,他们不会需要进行身份验证。