2012-07-03 26 views
0

我們從一個使用Asp.net的新應用程序開始。它應該連接到一個已經可用的web服務來檢索數據以呈現給用戶。我們創建了一個與web服務進行通信的存儲庫。ASP.Net Mvc 3 web服務存儲庫認證

Web服務需要使用用戶登錄到Web應用程序所用的相同用戶憑證進行授權。用戶有權使用帶有Cookie支持的表單身份驗證。

問題是我們無法在新請求中檢索用戶的密碼,當用戶被授權並自動登錄時。需要該密碼才能從存儲庫類登錄到Web服務。

關於如何實現這個最好和最安全的方式的任何想法?

+0

你見過這個問題嗎? http://stackoverflow.com/questions/488676/asp-net-wcf-service-requires-windows-authentication?rq=1 –

+1

它是*總是*錯誤的答案,如果你需要檢索用戶密碼。沒有解決方案應該要求保留用戶密碼,只需要密碼散列。 –

回答

0

您可以嘗試使用客戶端應用程序服務來獲取和設置Cookie。或者您可以使用此帖子上的示例代碼手動獲取和設置Cookie。該示例示出了這兩種方法並專門針對從MVC應用程序傳遞一個表單認證Cookie來的OData的WCF飼料:

http://blogs.msdn.com/b/astoriateam/archive/2010/07/21/odata-and-authentication-part-7-forms-authentication.aspx

另外,這裏是在範圍下調一個類似的例子:

http://www.codeproject.com/Articles/190806/Send-Cookies-When-Making-WCF-Service-Calls