如何让用户调用 Web 服务,即使 ws 被模拟

本文关键字:即使 ws 模拟 服务 Web 用户 调用 | 更新日期: 2023-09-27 18:32:04

我有一个应用程序,它基本上是一个Web服务,它连接到具有Web配置中模拟标记中的特定用户凭据的sql db。

我想知道的是是否有可能获取调用此 Web 服务的用户名。

我的网络配置如下所示:

<identity impersonate="true" userName="db_user" password="db_pass" />

我使用以下凭据发出 http 请求:

request.Credentials = new NetworkCredential("request_user", "request_pass");

在网络服务的 webmethod 中,我尝试以下代码行来获取请求用户,但它们都返回相同的用户,即模拟用户 -(

System.Security.Principal.WindowsIdentity.GetCurrent().Name //returns db_user
System.Environment.UserName //returns db_user
HttpContext.Current.User.Identity.Name //returns db_user

我清楚吗? 希望有人可以帮助我,谢谢!

如何让用户调用 Web 服务,即使 ws 被模拟

用户名传递到 Web 服务中。

我所做的是在 IIS 中创建一个新的应用程序池,并使其以访问数据库所需的用户身份运行,然后模拟 Web 服务。