2010-02-27 52 views
0

我想構建和維護一個用戶表。所有訪問ASP.NET MVC站點的用戶都通過Windows身份驗證進行身份驗證,因此他們必須擁有唯一的用戶名。我正在抓取用戶名:如何自動維護已使用Windows身份驗證由IIS 7.0進行身份驗證的用戶表

System.Web.HttpContext.Current.User.Identity.Name 

我覺得我可以用兩種方法解決這個問題。

  1. 無論何時用戶表或任何引用用戶表的表都被訪問,我可以添加用戶,如果它不存在。我擔心如果用戶的存在未被選中,這可能非常容易出錯。
  2. 任何時候用戶訪問網站上的任何頁面,檢查該用戶是否存在於數據庫中,如果他們不存在,添加用戶。這可能會帶來很多開銷,因爲它會在每次頁面更改時進行檢查。

我想聽聽哪些是更好的解決方案,以及如何實施它們。

回答

1

我認爲更好的方法將類似於選項2。
用戶訪問一個頁面時,請檢查會話變量以查看該用戶是否針對數據庫進行了檢查。如果會話變量不存在,請檢查該用戶是否存在於數據庫中,如果需要將該用戶添加到您的表中,然後設置會話變量。
這樣你就不必在每次請求時都擊中數據庫。

相關問題