【发布时间】:2011-11-23 18:45:22
【问题描述】:
我有一个使用 ASP.NET 和 Web 服务创建的网站,两者都使用 FormsAuthentication(根据 Active Directory - LDAP 验证用户的凭据)。
当我第一次调用此 Web 服务的操作方法时,我被重定向到实际将用户登录到系统的站点网页。当我登录时,我将被重定向到 Web 服务(ReturnUrl),但我猜有些东西会在路上丢失,因为我得到了一个 InvalidOperationException(在客户端),其中包含 .asmx 定义。
这仅发生在第一次通话中,下一次通话正常(因为我要去正确的地方)。
我在这里缺少什么?
我应该如何从网站重定向到网络服务?这个可以吗?
提前致谢。
【问题讨论】:
-
您是从 Web 应用程序还是从浏览器调用 Web 服务?如果您需要对调用进行身份验证,则应确保在调用 Web 服务之前对用户进行身份验证。 Web 服务在浏览器上没有用户界面,因此您不能“重定向”到该服务。我不明白你的最后一句话:“从网站重定向到网络服务器”。
-
这是一个错字;应该服务。我正在使用一个测试客户端,一个对 Web 方法的简单调用。不涉及浏览器。我看到了这个问题,我知道问题在于我如何处理我的身份验证,但我试图不改变它,因为我已经添加了一个 Web 服务!
-
hmmh,我还是不明白你想做什么。 Web 服务和网站是否在同一个域中? Web 应用程序调用服务还是您的测试客户端调用两者?您如何处理测试客户端对登录页面的重定向?
-
我有一个带有 ASP.NET 网站和一个 Web 服务的 IIS 网站,使用相同的身份验证方法。当我第一次调用任何 Web 服务操作时,我会被重定向到 Active Directory Auth 网页。成功通过身份验证后,我想返回 Web 服务操作。而且我没有被重定向到正确的地方。我想知道如何正确地做到这一点。
标签: asp.net web-services redirect wsdl