簡體   English   中英

使用Web服務從數據庫加載用戶信息

[英]Loading user info from DB with web service

我正在使用ASP.net創建一個網站,其中的數據來自數據庫。 但是,該網站不是直接訪問數據庫,而是通過Web服務。

數據流:

DB >> Web服務>>網站

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

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

問題是當我重新啟動應用程序時,我猜用戶名已保存在cookie中,並且我已經登錄。可以,但是我只有用戶名,而不是從頭開始需要的完整用戶信息。

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

有沒有一種方法可以使用Web服務從數據庫檢索相同的信息,但是要在加載時進行?

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

有沒有更好的辦法?

我已經使用Session_Start甚至Application_BeginRequest嘗試了該解決方案,但是由於對Web服務的調用是異步的,因此出現錯誤。

說到異步, 如何確保在加載母版頁之前重新創建了用戶信息? (我需要用戶信息,這樣我才能知道在頁面上顯示或不顯示什么)。

我希望這很清楚。 如果沒有,請告訴我。

謝謝,

當然,在花費了一整天的時間並最終向您尋求建議之后,我找到了一種使之起作用的方法。

我將重定向到登錄頁面,該頁面將檢查cookie並獲取用戶信息,因為它已經不在緩存中了。

如果數據庫中沒有它,它將顯示登錄頁面。

我不確定這是最好的方法,所以我將等待您的答復;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM