MVC 4 Multi-tenant application connectionString
В настоящее время я работаю над мультитенантным приложением. У меня есть одна БД на одного арендатора. Также у меня есть отдельная БД с одной таблицей, содержащей tenantid, строку подключения и некоторые другие данные. Когда пользователь входит в систему с токеном, электронной почтой и паролем, я ищу строку подключения и аутентифицирую пользователя, если он существует. Это работает нормально, но у меня есть некоторые проблемы, когда пользователь проходит проверку подлинности и возвращается на сайт, скажем, через 5 минут, снова. Как получить строку подключения пользователей? Мой код для аутентификации выглядит следующим образом:
DataModels.Tenant tenant = BLTenant.GetValidateTenant(token);
if (tenant != null)
{
DataModels.User user = BLUser.GetValidateUser(tenant.TenantToken, email, password, tenant.TenantConnectionString);
if (user != null)
{
FormsAuthentication.SetAuthCookie(user.UserName, rememberMe.HasValue ? rememberMe.Value : false);
Session[ConstantsUtil.SessionUser] = user;
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("Login", "Login failed");
return View("Login");
}
}
else
{
ModelState.AddModelError("Login", "Login failed");
return View("Login");
}
Как вы можете видеть, я установил сессию с данными пользователей, но не знаю, как ее получить после того, как пользователи вернутся. Сессия тогда нуль...