我有一個基本上是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
我清楚了嗎?希望有人能幫助我,謝謝!
謝謝,想出了一個更好的解決方案 – 2012-05-03 22:15:03