2011-05-23 151 views
1

我正在使用客戶端應用程序服務進行客戶端(WPF)身份驗證,並且ASP.Net成員身份正常運行。但是,在服務器上,我有額外的MVC查詢,我必須從客戶端調用它們時進行身份驗證。在查看可用的Membership.ValidateUser調用時,我無法看到這對我有什麼幫助,因爲我需要驗證每個呼叫。客戶端應用程序服務 - 來自WPF客戶端的身份驗證

我假設堅持[Authorize]對每個MVC電話是第一步。

我可以得到一個安全令牌,或者爲CookieContainer提取一個cookie,或者我只是在這裏誤解了一些東西?

+0

當您說[驗證]您的意思是[授權]權利。 「我有額外的MVC查詢,我必須從客戶端調用它們時進行身份驗證」。誰是客戶? WPF應用程序本身? – Chandermani 2011-05-23 14:01:22

+0

謝謝,修正應用。是的,它是客戶端的WPF應用程序。 – Harry 2011-05-24 18:36:11

回答

0

我假設你是ASP.Net MVC網站,WCF服務託管在相同的虛擬應用程序和ASP.Net兼容模式中。
如果您正在使用WPF通過調用Web服務請執行下列操作

在服務器端

  • 實現代碼做認證

  • 來驗證用戶身份驗證成功之後 創建表單身份驗證Cookie 並將其添加到響應Cookie 集合。

在客戶端

  • 客戶端類,您正在使用 連接到認證服務 應該包含一個靜態的CookieContainer類的實例。
  • 一旦認證成功, 成功添加收到的cookie到 這個cookie容器,並將其傳遞給每個後續請求。

因此,所有對ASP.Net MVC應用程序或任何服務的請求都將包含cookie,並且用戶將自動獲得授權。檢查this blog post樣本
希望這會有所幫助。

+0

好東西,謝謝。 – Harry 2011-05-29 12:13:35

+0

這是否與客戶端應用程序服務集成在一起?我的意思是爲什麼當我們已經有客戶端應用程序服務的ValidateUser方法時,單獨的登錄方法返回一個cookie? – Harry 2011-05-29 12:16:36

+0

博客文章就是一個例子。當你在CAS上調用ValidateUser時,它會向http頭添加一個驗證cookie,並且會在所有後續請求上傳遞 – Chandermani 2011-05-29 15:21:00