2009-09-16 17 views
3

客戶端我需要傳遞一條信息(在這個例子中可以說一個字符串)的每一個服務呼叫我做。服務使用此字符串(currentRole)與用戶一起/憑據傳遞給檢索用戶的組相關瓦特/他們的當前角色索賠。WCF通過所有服務額外的安全性數據調用

我所遇到的迄今的解決方案是:

1)修改郵件標題,因爲他們從客戶走出去,並驗證郵件頭是存在的服務端。

2)使用它從我的理解需要一個自定義的安全令牌以及存儲字符串的自定義憑據。

有沒有其他的方法我缺少,如只是將該信息添加到現有的令牌/憑證?以及是否有任何優點/解決方案的缺點上面提到的?

謝謝。

回答

1

你也可以編寫一個客戶端行爲,將這個頭添加到消息中(這樣你就不必考慮在代碼中自己動手了)。

您可以實施IClientMessageInspector並在BeforeSendRequest方法覆蓋中添加消息標題。將此行爲添加到每個客戶端端點時,它會自動將該消息標題添加到每個傳出消息。

查看此CodeProject article的一些初學者的信息,而這blog post一些更深入的訣竅。

Marc

+0

謝謝您的回覆,這是我通過修改郵件標題所採取的方法。我喜歡它,我只是不確定是否存在使用這種方法的缺點,或者是否有其他更適合於此問題的內容。 – Hooveh

相關問題