asp.net mvc多个连接字符串
|
我正在使用MVC 3.0创建asp.net MVC应用程序.我有2个用户,但DataBase是相同的.那么,是否可以在web.config中设置两个连接字符串甚至更多?当用户登录时,我将其重定向到他的数据库,因此他可以使用他的数据库. 这里的主要问题是找出登录的用户并为该用户使用连接字符串. 我正在使用默认的mvc帐户控制器,例如,当我想在我的视图中显示用户的欢迎消息时,我输入:if(@ User.Identity.Name ==“UserName”)然后是一些消息 解决方法我同意Jakub的回答: there are better ways of handling multi-tenancy than having a different database per user.但是,要回答您的具体问题,可以考虑两种选择: >您可以在登录后立即将连接字符串设置为会话变量. >要在登录后存储连接,如果您使用的是标准ASP.NET MVC帐户控制器,请查看LogOn post操作: [HttpPost]
public ActionResult LogOn(LogOnModel model,string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName,model.Password))
{
//EXAMPLE OF WHERE YOU COULD STORE THE CONNECTION STRING
Session["userConnectionString"] = SomeClass.GetConnectionStringForUser(model.UserName);
FormsAuthentication.SetAuthCookie(model.UserName,model.RememberMe);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index","Home");
}
}
else
{
ModelState.AddModelError("","The user name or password provided is incorrect.");
}
}
// If we got this far,something failed,redisplay form
return View(model);
}
>如果要在进行数据访问时选择连接字符串,则存储库或数据访问层可能会有一个用于处理该连接字符串的系统.例如,使用Entity Framework Code First,the DbContext constructor允许您在创建连接字符串时传递连接字符串的名称: connectionString = SomeClass.GetConnectionStringForUser(model.UserName); 但同样,除非您的业务要求您的用户在物理上分开数据库,否则我会考虑其他处理多租户的方法. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP MVC Razor视图扩展方法,如何创建“全局
- asp.net-mvc – 将IQueryable泛型转换为JSON
- asp.net – 我可以在ASPX页面中使用扩展方法内联吗?
- asp.net-mvc – 在ASP.NET MVC中禁用布局?
- asp.net-mvc-3 – 如何从ASP.NET MVC#输出中删除空格?
- asp.net – iTextSharp可以栅格化/导出为JPEG或其他图像格式
- asp.net-mvc – 客户端验证未显示消息
- asp.net-core – 日期输入标记帮助程序未显示数据库中的日期
- asp.net-mvc-3 – 如何将int数组传递给RouteValueDictionar
- asp.net – Visual Studio加载项自动附加到Development Ser
- asp.net-mvc – 如何将整数列表传递给MVC操作?
- asp.net – 为什么aspnet_users使用guid来代替id
- asp.net – 需要安装Dnx Runtime软件包 有关详细
- asp.net-mvc-3 – MVC 3(Razor) – 使用Button事
- asp.net-mvc – ASP.NET MVC运行IIS7部署问题
- asp.net-mvc – 什么是Owin rememberBrowser做什
- asp.net – 即使在IIS的web.config中使用标签后,
- asp.net – 如何停止所有cassini实例?
- asp.net – 在乌龟SVN操作后丢失的IIS_IUSRS权限
- asp.net-mvc – 在我的ASP.NET MVC网站中缓存不能
