簡體   English   中英

IIS托管WCF服務中的身份檢查問題

[英]Identity Check Issues in IIS Hosted WCF Service

我在IIS7中托管了一組WCF服務。 我正在將服務移至另一個文件夾,以便開始在URL中指定版本和環境。 例如:

http://myserver/MyServices/ServiceA.svc

成為:

http://myserver/MyServices/QA/1.1.0/ServiceA.svc

我將新文件夾配置為IIS中的應用程序,並將其設置為在我們一直使用的同一服務應用程序池下運行。 一切正常,我能夠導航到.svc URL並查看WSDL或在wcf測試客戶端中打開端點。 但是,當嘗試使用該服務時,出現以下錯誤:

身份檢查對於傳出消息失敗。 預期的身份是'identity(http://schemas.xmlsoap.org/ws/2005/05/identity/right/possess屬性: http : //schemas.xmlsoap.org/ws/2005/05/identity/claims/upn )”作為“ http://myserver/MyServices/QA/1.1.0/ServiceA.svc”目標端點。

當我檢查WSDL輸出時,我注意到Identity部分似乎遺漏了應用程序池的身份,它通常包括:

<Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
<Upn>myappuser@mydomain.local</Upn>
</Identity>

嘗試在IIS中重新部署和重新配置應用程序之后,我能夠使身份僅出現在某些服務的元數據中。 其他服務仍然不包括它,這比以前更加奇怪。 據我所知,IIS中原始堆棧和新堆棧之間的配置差異為零。 我可能會遇到哪些類型的問題,從而導致這些類型的身份問題?

該問題是由於嘗試將新服務堆棧Web應用程序嵌套在現有服務堆棧Web應用程序內部而引起的。 我認為,當子應用程序中的服務將端點暴露給與根Web應用程序相同的合同時,這可能會給IIS造成一些混亂(盡管從理論上講應該可以正常工作)。 我只需要將新服務堆棧移動到單獨的文件夾結構中。 一旦這樣做,我就可以毫無問題地在元數據中公開應用程序池標識。

暫無
暫無

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

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