对于我正在执行的项目,我正在使用SOAP服务从另一个系统访问某些数据。我将SOAP服务添加为ASP.NET(C#)项目的Web引用。可从InputStream获得肥皂服务凭证
现在,该服务有点复杂,因为用户必须先用cookie进行身份验证(不要问)。所以我们做的是:
- 用户访问我们的网站。
- 网站将用户重定向到服务所在的服务器上的登录页面。
- 用户登录,并执行FormsAuthentication.SetAuthCookie
- 用户被重定向回到我们的网站。然后将用户转发到应该包含来自web服务的数据的页面。
该页面实例化的WebService作为这样一个对象:
MyService.MyServiceservice = new MyService.MyService();
然后我把凭据(现在我做硬编码):
service.PreAuthenticate = true;
service.Credentials = new NetworkCredential("Wim", "mypass");
当我打电话的方法在该服务上,我希望包含服务器的服务器上的Global.asax能够从请求中“捕捉”用户名和密码。但不知何故,我无法取它。
不要问为什么它必须这样做,让我们把它..不幸的:P
有谁知道如何来从服务器端该请求的用户名和密码,在最好Global.asax Application_BeginRequest。
服务需要cookie还是需要凭据? – 2011-02-18 10:41:48