C# 可从InputStream获得的Soap服务凭据
对于我正在做的一个项目,我使用SOAP服务从另一个系统访问一些数据。我将SOAP服务作为web引用添加到我的ASP.NET(C#)项目中 现在,该服务有点复杂,因为必须首先使用cookie(不要问)对用户进行身份验证。因此,我们所做的是:C# 可从InputStream获得的Soap服务凭据,c#,asp.net,C#,Asp.net,对于我正在做的一个项目,我使用SOAP服务从另一个系统访问一些数据。我将SOAP服务作为web引用添加到我的ASP.NET(C#)项目中 现在,该服务有点复杂,因为必须首先使用cookie(不要问)对用户进行身份验证。因此,我们所做的是: 用户访问我们的网站 网站将用户重定向到服务所在服务器上的登录页 用户登录并执行FormsAuthentication.SetAuthCookie 用户被重定向回我们的站点。然后将用户转发到一个页面,该页面应包含来自Web服务的数据 该页面将webservi
- 用户访问我们的网站
- 网站将用户重定向到服务所在服务器上的登录页
- 用户登录并执行FormsAuthentication.SetAuthCookie
- 用户被重定向回我们的站点。然后将用户转发到一个页面,该页面应包含来自Web服务的数据
MyService.MyServiceservice = new MyService.MyService();
然后我将凭证放入(现在我将其硬编码):
在该服务上调用方法时,我希望包含该服务器的服务器上的Global.asax能够从请求中“捕获”用户名和密码。但不知怎的,我拿不到它
不要问为什么要这样做,让我们称之为。。不幸的是:P
是否有人知道如何从服务器端的请求中获取用户名和密码,最好是在Global.asax应用程序中_BeginRequest.该服务使用什么身份验证模式?基本的,消化的?等等 如果是basic,则用户名和密码将作为Base64编码字符串出现在http头中,该字符串类似于gwxhcgrpbipvucgvuifnlc2ftzg== 您需要对其进行解码,然后您将看到用户名和密码的格式为user:password 您在哪里查找/期望找到用户名和密码 作为旁注:
如果您也在编写服务,那么您可能应该使用“身份验证”模块,而不是在全局中进行。钩住HttpModule中全局的OnAuthenticate事件并在那里进行身份验证。服务需要cookie还是需要凭据?
service.PreAuthenticate = true;
service.Credentials = new NetworkCredential("Wim", "mypass");