我使用ASP.net創建網站,數據來自數據庫。 但是,網站並不直接訪問數據庫,而是通過Web服務訪問數據庫。使用Web服務從數據庫加載用戶信息
數據流:
DB >> Web服務>>網站
日誌記錄和用戶信息檢索工作正常。
用戶登錄後,使用FormsAuthentication.RedirectFromLoginPage
,用戶可以訪問受限制的頁面,並且可以使用http上下文中的User.Identity.Name
訪問用戶名。
問題是當我重新啓動應用程序,我猜用戶名保存在cookie中,我已經登錄。 這很好,但我只有用戶名,而不是我需要的完整用戶信息開始。
登錄後,我創建了一個包含所有信息的對象,通過Web服務從數據庫獲取數據。
有沒有一種方法來檢索數據庫使用Web服務,同樣的信息,但在加載時?
我的想法是讓他保存在cookie中的用戶ID和認證令牌和調用Web服務,並重新創建用戶的信息對象。
有沒有更好的方法?
我已經嘗試過使用Session_Start
甚至Application_BeginRequest
但由於呼叫解決Web服務是異步的,我得到一個錯誤。
說到異步, 我如何確保在加載母版頁之前重新獲得用戶信息? (我需要用戶信息,以便我可以知道要在頁面上顯示或不顯示)。
我希望很清楚。如果沒有,請讓我知道。
謝謝