2012-04-23 30 views
0

我有一个基本上是Web服务的应用程序,它使用Web配置中的impersonate标记中的特定用户凭证连接到一个sql数据库。即使ws被模拟,我如何才能让用户调用Web服务?

我想知道的是,如果有可能获得调用此Web服务的用户名。

我的web配置是这样的:

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

而web服务的的WebMethod内我试着下面的代码行:

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

进出口使用以下凭据发送HTTP请求以获取请求用户,但他们都返回相同的用户,即模拟用户 - (

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

我清楚了吗?希望有人能帮助我,谢谢!

回答

0

将用户名传递给webservice。

+0

谢谢,想出了一个更好的解决方案 – 2012-05-03 22:15:03

0

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

相关问题