2012-04-23 60 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服務。

相關問題