我将 RavenDB 设置为我在 MVC 项目中选择的数据库。目前注册流程如下:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
try
{
WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
WebSecurity.Login(model.UserName, model.Password);
return RedirectToAction("Index", "Home");
}
catch (MembershipCreateUserException e)
{
ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
}
}
我的数据库逻辑类中有一个方法,用于存储用户对象,例如User
:
public void SaveEntity(ModelBase entity)
{
using (var session = DocumentStore.OpenSession())
{
session.Store(entity);
session.SaveChanges();
}
}
ModelBase
是可以保存到数据库中的所有内容的基础对象,包含用户名、密码、电子邮件等属性的 User 类也将是将被保存的对象之一。
我的SaveEntity
方法就够了吗?以及我需要如何更改Register
才能使用我的 SaveEntity` 方法来存储用户。我还想应用某种加密来存储密码。