2015-12-29 62 views
1

我使用ASP.net創建網站,數據來自數據庫。 但是,網站並不直接訪問數據庫,而是通過Web服務訪問數據庫。使用Web服務從數據庫加載用戶信息

數據流:

DB >> Web服務>>網站

日誌記錄和用戶信息檢索工作正常。

用戶登錄後,使用FormsAuthentication.RedirectFromLoginPage,用戶可以訪問受限制的頁面,並且可以使用http上下文中的User.Identity.Name訪問用戶名。

問題是當我重新啓動應用程序,我猜用戶名保存在cookie中,我已經登錄。 這很好,但我只有用戶名,而不是我需要的完整用戶信息開始。

登錄後,我創建了一個包含所有信息的對象,通過Web服務從數據庫獲取數據。

有沒有一種方法來檢索數據庫使用Web服務,同樣的信息,但在加載時?

我的想法是讓他保存在cookie中的用戶ID和認證令牌和調用Web服務,並重新創建用戶的信息對象。

有沒有更好的方法?

我已經嘗試過使用Session_Start甚至Application_BeginRequest但由於呼叫解決Web服務是異步的,我得到一個錯誤。

說到異步, 我如何確保在加載母版頁之前重新獲得用戶信息? (我需要用戶信息,以便我可以知道要在頁面上顯示或不顯示)。

我希望很清楚。如果沒有,請讓我知道。

謝謝

回答

0

當然,花了整整一天它的工作後,最後問你的意見,我找到了一種方法,使其工作。

我重定向到登錄頁面,將檢查的Cookie,並獲得用戶的信息是它沒有在緩存中了。

如果數據庫不可用,它會顯示登錄頁面。

我不確定這是最好的方式,所以我會等待您的回覆;-)

相關問題