2010-10-06 53 views
1

我們目前正在構建一個服務於多個子域(通配符子域)的Web應用程序。在我們的應用程序中,用戶可能會被認證爲一個或多個子域(就像Basecamp一樣)。在ASP.net上有多個子域的會話MVC2

我們想知道保存和加載用戶憑證的最佳策略是什麼。主要問題是我們的用戶可能在不同的子域中具有不同的角色(他們可能是管理員,帳戶所有者,客戶端等),他們使用相同的憑據來簽署所有子域。我們使用ASP.net MVC2 & .Net 4.0。

我們正在考慮的選項包括:

  • 加載在登入所有用戶信息和角色,並將其保存在會話(Session被保存在SQL Server數據庫)

  • 僅保存用戶ID在會議中。在每次請求時,根據請求子域,我們重新加載角色並檢查請求操作的授權。

  • 將UserId保存在Cookie中,並執行與上一個選項相同的加載策略。

非常感謝您的幫助!

回答