2012-02-16 80 views
1

我需要創建一個C#3.0 Web服務,它能夠檢索(僅)在Intranet環境中的CALLER用戶標識。我意識到我可能會傳遞來自調用者程序的信息,但在我的情況下,這是不可行的。 Web服務將被Windows應用程序(Infopath 2003準確地)使用,並且從我的Windows應用程序檢索用戶標識符在這種情況下不實用。從C#Web服務中檢索當前用戶標識

這是可以實現的嗎? IIS(在Windows 2003標準服務器中託管)使用Windows身份驗證。我嘗試了一些使用WindowsIdentity的東西,但它只適用於本地主機。

+1

沒有「C#web服務」這樣的東西。你是指ASMX服務還是WCF服務? – 2012-02-16 06:38:32

回答

0

你試過嗎? HttpContext.Current.User.Identity.Name

+0

謝謝我會嘗試並在此處報告結果。 – WML 2012-02-16 09:25:03

+0

嗨我用過,但它返回(in)着名的錯誤消息:HTTP請求未經客戶端身份驗證方案'匿名'未經授權。從服務器收到的身份驗證頭是'NTLM'... – WML 2012-02-16 23:33:57

+0

我也嘗試了Thread.CurrentPrincipal,但它返回空白...當然我錯過了一些基本的東西...忘了提及我正在寫ASMX web服務,而不是WCF – WML 2012-02-17 00:31:28