Security 安全模型与现有数据库
我已经用code first和DbContext创建了一个数据库 但是,这与新MVC4站点上的安全模型数据库是分开的 我的问题是,如何将现有数据库与安全模型结合起来,还是出于合理的原因将它们分开 例如,这是最好的解决方案吗 这将在我第一次运行应用程序时重新创建安全模型和角色Security 安全模型与现有数据库,security,asp.net-mvc-4,dbcontext,Security,Asp.net Mvc 4,Dbcontext,我已经用code first和DbContext创建了一个数据库 但是,这与新MVC4站点上的安全模型数据库是分开的 我的问题是,如何将现有数据库与安全模型结合起来,还是出于合理的原因将它们分开 例如,这是最好的解决方案吗 这将在我第一次运行应用程序时重新创建安全模型和角色 或者有其他方法可以做到这一点。我喜欢新的MVC和Simplemembership提供商就是因为这个原因。您可以非常轻松地将您的模型与asp.net帐户模型相结合 当您使用默认internet模板时,它会创建一个名为User
或者有其他方法可以做到这一点。我喜欢新的MVC和Simplemembership提供商就是因为这个原因。您可以非常轻松地将您的模型与asp.net帐户模型相结合 当您使用默认internet模板时,它会创建一个名为UsersContext的上下文。要做一些简单的事情,比如向UserProfile对象添加附加字段以在数据库中跟踪,您需要做3件简单的事情
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
var db = new UsersContext();
// Attempt to register the user
try
{
WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new { FirstName = model.FirstName, LastName = model.LastName, Address = model.Address, Company = model.Company, Phone = model.Phone, Country = model.Country, City = model.City, State = model.State, Zip = model.Zip });
WebSecurity.Login(model.UserName, model.Password);
return RedirectToAction("Index", "Dashboard");
}
catch (MembershipCreateUserException e)
{
ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}