簡體   English   中英

使用WCF驗證多個服務之間的呼叫者身份

[英]Validating the identity of the caller between multiple services with WCF

我有一個客戶端,該客戶端調用服務(向其傳遞用戶ID和密碼)。 第一服務可以針對數據庫中的用戶驗證這些憑據。 然后,第一個服務需要調用另一個服務,但是第二個服務無法傳遞給第一個服務的用戶ID和密碼(這是我無法控制的要求)。

在此處輸入圖片說明

這些服務很可能位於不同的域,並且都暴露於Internet(因此,安全性是一個大問題)。

因此,我正在尋找第二種服務應如何檢查/驗證第二種服務是否被我的第一種服務(而不是試圖模仿它的其他人)調用的選項。

我曾經想過的一個想法是添加一個充當身份驗證服務的附加服務,這可以發出一個令牌,然后將該令牌傳遞給第二個服務,后者又調用身份驗證服務來檢查令牌。 (來自同事的)另一個想法是為每個服務分配一個SSL證書,並在服務器B進行呼叫時檢查該證書-我沒有看到以這種方式使用的證書,盡管不確定它是否可行。

這仍處於設計階段,因此我願意接受其他想法/方法。

如果您需要簡單的修補程序,則可以為服務A創建一組額外的憑據,以便可以確保從授權方調用了服務B,而無需知道客戶憑據就足夠了。

從長遠來看,類似Windows Identity Foundation的聲音聽起來與您使用身份驗證服務的計划完全一樣。

因此,甲乙雙方都暴露於互聯網(不受信任的環境)中。 考慮到安全性要求,您需要的是相互WCF身份驗證 證書是實現目標的最簡單方法-服務器必須確保正確的客戶端調用它,而客戶端必須確保其調用正確的服務器(DNS攻擊等)。 這意味着每一方都必須具有另一方的公共密鑰才能進行身份驗證。 查看本文以獲取有關如何配置服務器和客戶端的詳細信息。

暫無
暫無

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

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