簡體   English   中英

WCF kerberos委派同一台機器上的服務

[英]WCF kerberos delegation to services on the same machine

我有以下設置:

Client -> MiddleWS (ISS-hosted WCF) -> DestWS1 and DestWS2 (Self-hosted WCF services)

所有計算機都在具有Active Directory的Intranet上運行。 我需要能夠將一個憑據從客戶端傳播到DestWS1和DestWS2(這兩個憑據在同一服務器上的自托管環境中運行,盡管地址不同)。 如果我從客戶端向MiddleWS發出請求,那么一切正常,然后由MiddleWS向DestWS1或DestWS2發出請求。 但是,如果我要從MiddleWS向DestWS1和DestWS2發出兩個后續請求,則第二個請求不會成功(產生權限問題)。

DestWS1和DestWS2具有不同的地址(fx, http://server/DestWS1.svchttp://server/DestWS2.svc )。 我有兩個從其WSDL生成的WCF客戶端。 好像我創建了兩個客戶端(因此有兩個通道),第二個客戶端就失敗了(kerberos令牌發生了某些事情)。 如果我僅使用一個客戶端,但從該客戶端向同一服務進行了兩次調用,則兩個請求都可以正常工作。 關閉通道后,令牌將無法再傳輸,看起來像。

有類似問題的人嗎?

顯然,此問題是由於異步通信引起的。 當異步調用兩個服務時,身份驗證將丟失。 有兩種可能的解決方案:-切換到同步請求-在配置中將alwaysFlowImpersonationPolicy更改為true(我還沒有嘗試過,但是很多其他人都將其作為解決方案):)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM