2011-11-20 79 views
2

我正在開發一個Web應用程序,要求用戶使用表單身份驗證進行登錄。在網頁內部,您需要下載需要登錄到同一系統的桌面應用程序。有沒有辦法將當前記錄的憑據從Web應用程序傳輸到Windows桌面應用程序,而無需再次登錄?這兩個應用程序都從vb.net界面共享一個Login對象。將當前Web憑證從asp.net Web應用程序傳遞到vb.net中的Windows客戶端應用程序

我試圖挽救IP地址在數據庫中,但因爲網站需要進行內部和/或公司外部訪問,並在不同的機器上,用戶無法登錄兩次不爲我工作。

我想谷歌的解決方案,但沒有運氣。

對此有何建議?

回答

0

這可能不是正好是您設想的場景,但本文展示瞭如何使用WCF身份驗證服務從Winforms客戶端使用Forms身份驗證。這應該讓你朝着正確的方向前進。根據文章,您可以在任何.NET應用程序中使用這些服務。

http://msdn.microsoft.com/en-us/library/bb386582.aspx

本文介紹如何使用Silverlight應用程序做,只是讓你有另一個例子。 http://blogs.msdn.com/b/brada/archive/2008/05/03/accessing-the-asp-net-authentication-profile-and-role-service-in-silverlight.aspx

而只是一個更好玩。 http://aspalliance.com/1595_Client_Application_Services__Part_1.all#Page1

+0

嗨大衛。請提供信息。這聽起來很有趣。讓我檢查它,我會讓你知道任何問題。 – PhoenixzeroX

+0

感謝您的信息。你給了我一個關於如何做這個認證模型的想法。問候 – PhoenixzeroX

0

是不是真的有什麼辦法沒有加密包含用戶的憑據,並將其存儲與文件一起硬盤驅動器上的文件共享這一點,但你跑的人的信息解密和獲得訪問風險用戶的密碼。

我認爲可以工作的另一種方法是生成一個認證令牌(可能是一個GUID一樣簡單),並且當用戶請求的下載存儲在數據庫與用戶的ID一起。您希望此令牌在合理的時間限制(例如5分鐘)後過期。

然後,您可以包括包含在下載此認證令牌的文件。當你的應用程序啓動時,你可以檢查文件的存在。如果它在那裏,則提取令牌,刪除文件,在呈現用戶登錄之前發送令牌。

如果令牌有效,你的服務器會發送回用戶的登錄名和你的應用就像用戶進行登錄則會繼續,否則,你只會在登錄屏幕顯示。

+0

早上好sports_tech。我感謝你的迴應。我該如何強制用戶下載文件,因爲應用程序預計將作爲clickonce安裝程序下載? Regards – PhoenixzeroX

+0

我們做類似的事情的方式是構建一個自解壓zip文件,並在解壓縮文件中將密鑰文件放置在衆所周知的位置(即userdata),然後啓動解壓縮後的安裝程序。但是,這可能不適用於clickonce安裝程序(我們之前放棄了clickonce而贊成自行構建的實現,這爲我們提供了更多的靈活性和控制權)。 –

+0

感謝您的信息。使用上面顯示的信息和你的信息給了我一個如何實現這個認證方案的想法。問候 – PhoenixzeroX

相關問題