2010-10-26 69 views
1

在我的ASP.NET MVC應用程序中,我允許用戶登錄。每個用戶都與一家公司相關聯。公司ID和公司數據不是數據庫中用戶表的一部分。用戶和公司通過相關的表格(一對多關係)連接。公司ID不是用戶表的一部分,因爲用戶表的設計沒有預測到這一點,我們也不允許改變它。登錄後在哪裏存儲用戶特定的設置?

當用戶登錄時,我們希望爲該用戶獲取公司ID並將其存儲在某個地方。我們稍後會使用此ID進行查詢和其他類型的公司篩選,因爲內容是按公司存儲的。

我應該在哪裏存儲公司ID設置以使其在多個Web請求中保持持久性?

回答

3

我看到三個可行的選擇

  • Session

  • Cookie
    這可能會也可能不會在身份驗證cookie中,您的選擇。

  • 到什麼時候需要保持它在數據庫
    查詢。如果需要的時間少於x%,那麼只需從數據源中獲取數據即可。

+2

因爲性能方面的原因,我會爲「將它保存在數據庫中」投票。 – NotMe 2010-10-26 21:48:35

+0

爲了可靠性,我最終決定使用Session,但將其存儲在SQL Server中。 – mare 2010-10-29 17:47:29

+0

@ mare-如果您使用基於SQL Server的會話存儲,那麼它是否比數據庫中的數據庫有優勢? – 2010-10-29 19:54:38

1

也許這聽起來很愚蠢,但是......將信息存儲到對象中並將該對象放入會話中怎麼辦?

+0

我正在使用會話。所以這是一種選擇。我正在尋找其他選項。 – mare 2010-10-26 21:39:17

相關問題