2011-07-18 37 views
0

我需要通過兩個服務調用來傳播當前用戶的Windows標識。如何在不使用WCF中的委派的情況下傳播Windows標識?

服務A(在集成身份驗證下運行)調用服務B(它也在集成身份驗證下運行)。我需要識別用於在服務B的代碼中調用服務A的用戶身份。

我知道這是可以使用委託,通過模擬用戶在服務A代碼,然後從模擬代碼調用服務B.

但是,我只想流動身份而不是模仿用戶。這可能沒有冒充嗎?

+0

你只是想將用戶名發送到第二場服務還是希望在用戶身份下進行第二次服務呼叫? –

+0

我只想將用戶名發送到第二個服務或以其他方式識別第二個服務上的原始用戶。 –

回答

1

使用ServiceSecurityontext.Current.PrimaryIdentity.Name

得到驗證的用戶

添加爲一個頁眉或在下游業務請求

+0

問題是我們有很多已經寫好的服務。我們可以使用委託,但不希望這樣。當然,退步是編寫代碼在一個字段中傳播這些憑據。是否有可能只傳播沒有冒充的身份,也不能使用下游服務的字段或標題? (我知道這聽起來很蠢,但只是問) –

+0

沒有明確傳遞它或代表團的自動發送身份下游 –

+0

感謝您的幫助理查德。 –

0

我認爲你正在尋找名爲「身份」的模擬級別。有關WCF中不同模擬級別的說明,請參閱this article

+0

我知道「身份」可以用來識別第一個服務中的憑證。那麼跳什麼?如何將這些憑據傳播到第二次調用而不模仿? –

相關問題