我想收到關於如何構建一個使用另一個asp.net中託管的WCF服務的asp.net Web應用程序的評論應用。這兩個應用程序將位於同一臺計算機上,但具有WCF服務的應用程序將無法從外部訪問。將有兩臺Web服務器共享負載平衡器後的負載。需要ASP.NET + WCF +安全性的建議和幫助
這兩個應用程序的應用程序池將使用相同的本地用戶帳戶(網絡服務器不是域的一部分),所以我想使用Windows安全WsHttpBinding用於客戶端和內部wcf服務之間的通信。
前端asp.net應用程序通過自定義成員資格/角色提供程序使用表單身份驗證來驗證和授權用戶。用戶數據庫位於sql服務器數據庫中。
我需要以某種方式將用戶詳細信息(用戶名+角色)傳遞給wcf服務,以便在wcf中可以根據誰在前端登錄的角色進行驗證和授權。我讀了我需要使用「支持令牌」,但我還沒有想出如何使用這個。
我還讀了一些有關索賠和WIF,這似乎很有趣,但不知道我可以如何使用這些在我的情況。
有沒有人可以給我關於該架構的建議,也許還告訴我如何將用戶名傳遞給wcf服務,並告訴我如果可能使用基於聲明的授權?
感謝您的回覆。我不認爲netTcpBinding是一個選項,導致Web服務器不幸運行IIS6。 傳遞支持令牌似乎是我需要做的將用戶登錄到前端Web應用程序的用戶名傳遞給wcf服務。但不幸的是,我無法設置它,它必須是證書的問題......我在這種情況下是否需要它們,因爲消息永遠不會離開服務器機器? – skyplusplus 2010-07-06 01:30:43
@skyplusplus:Web服務器只作爲WCF客戶端,正確地調用WCF服務。在這種情況下使用netTcpBinding沒有問題/問題!唯一的一點是WCF服務需要在另一端自行託管,而不是在IIS6中託管。爲了能夠使用netTcpBindign,這一點額外的努力將非常值得! – 2010-07-06 05:34:17
是的,我認爲我要這樣做,即在Windows服務中託管wcf服務並使用netTcpBinding公開它。你是對的,只需要將用戶標識添加到標題中就可以了,因爲wcf服務只能在本地訪問,因此調用者是可信的。 歡呼 – skyplusplus 2010-07-06 09:16:15