【发布时间】:2012-05-04 08:02:05
【问题描述】:
我有一个基本上是 web 服务的应用程序,它连接到一个 sql db,在 web config 的 impersonate 标记中具有特定的用户凭据。
我想知道是否可以获取调用此网络服务的用户名。
我的网络配置如下所示:
<identity impersonate="true" userName="db_user" password="db_pass" />
我正在使用以下凭据发出 http 请求:
request.Credentials = new NetworkCredential("request_user", "request_pass");
在 web 服务的 webmethod 内部,我尝试使用以下代码行来获取请求用户,但它们都返回相同的用户,即模拟用户 -(
System.Security.Principal.WindowsIdentity.GetCurrent().Name //returns db_user
System.Environment.UserName //returns db_user
HttpContext.Current.User.Identity.Name //returns db_user
我说清楚了吗?希望有人能帮助我,谢谢!
【问题讨论】:
标签: c# .net web-services impersonation