我見過很多關於WCF模擬雙跳問題的文章,但他們都沒有專門幫助我解決我的問題。WCF雙跳本地主機丟失第二跳假冒
我錯過了什麼?我還需要做什麼才能保留我的模擬用戶(DOMAIN \ UserName)在服務2上?我正在查看ServiceSecurityContext.Current.WindowsIdentity.Name來確認 - 也許這是錯誤的。
的設置:
- 客戶端應用託管在本地主機與服務參考IIS到服務1 - 冒充的WindowsIdentity(域\用戶名)
- 服務1 - WCF服務託管在本地主機IIS與服務引用到服務2
- 服務2 - WCF服務託管在本地主機IIS
我使用ALL basicHttpBindings讓事情變得簡單。我已經在兩個服務端點上設置了SPN。
- 我可以成功地使雙跳和代碼執行就好
- 在服務1(跳1)我的ServiceSecurityContext.Current.WindowsIdentity是我假冒的人(域\用戶名)
- 在服務2(跳2),我ServiceSecurityContext.Current.WindowsIdentity是IIS應用程序池用戶
- ImpersonationLevel = 「委派」
- 兩個WCF服務的Windows認證功能和匿名殘疾人
**注意:我在我的開發箱上全部在本地運行。即便如此,我的代表團級別也允許我自己的代表團參加。也許矯枉過正。
綁定(兩種服務類似):
<binding name="...">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
我已經設置impersonationLevel =「委派」 WCF服務客戶端和服務端點行爲的配置上都。我的服務方法特別用impersonationOption =「Allowed」(跳1)和impersonationOption「必需」(跳2)裝飾。
是否可以顯示與您如何設置模擬相關的代碼或配置? – EdmundYeung99 2013-03-19 00:31:04
嗨埃德蒙。我已經添加了基本的綁定配置。具體來說,你還有什麼興趣看到? – chrisriesgo 2013-03-19 00:46:46
你在哪裏配置你的模擬級別? – EdmundYeung99 2013-03-19 03:43:07