如何让用户调用 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 服务中。
我所做的是在 IIS 中创建一个新的应用程序池,并使其以访问数据库所需的用户身份运行,然后模拟 Web 服务。