2010-06-03 72 views
0

我正在.NET mvc2中開發一個應用程序。我正在使用aspnetMembershipProvider進行用戶註冊和相關活動。我需要一些關於用戶的自定義信息,這些信息存儲在一個單獨的表(例如sysUser)中,並通過外鍵將它鏈接到aspnetUser表。在aspNetMembershipProvider會話中存儲用戶信息

登錄後,我需要從sysUser表中獲取用戶憑據並將其推送到會話。此帳戶控制器的登錄方法似乎是最好的,我和我在登錄的ActionResult粘貼下面的代碼

if (!ValidateLogOn(userName, password)) 
     { 
      return View(); 
     } 

     FormsAuth.SignIn(userName, rememberMe); 
     ApplicationRepository _ApplicationRepository = new ApplicationRepository(); 
     MembershipUser aspUser = Membership.GetUser(userName); 
     SessionUser CurrentUser = _ApplicationRepository.GetUserCredentials(aspUser.ProviderUserKey.ToString()); 

     //Session["CurrentUser"] = CurrentUser; 

     if (!String.IsNullOrEmpty(returnUrl)) 
     { 
      return Redirect(returnUrl); 
     } 
     else 
     { 
      return RedirectToAction("Index", "Home"); 
     } 

的代碼工作完美的我,把我需要的信息在會話但問題是,如果用戶選擇記住我,在他下次訪問時,他不必登錄,我也不會在會話中找到我想要的信息。我應該在哪裏存儲將用戶信息存儲在會話中的代碼?

回答

0
FormsAuthentication.SetAuthCookie(userName, saveLogin); 

MSDN文檔SetAuthCookie方法

+0

感謝, 也許我無法解釋自己,FormsAuthentication.SetAuthCookie(userNmae,SaveLogin)時自動調用我們稱之爲簽到(用戶名,SaveLogin)功能。這將在通過httpContext.Current.User .__可用的cookie中存儲userName信息。我想要的是將自定義信息即公司編號和員工ID存儲在cookie中,以便我可以使用httpContext.Current.User.EmployeeID等訪問該信息。是否有可能以及我必須爲此執行哪些課程 Regards Adeel – 2010-06-11 09:19:11