3
4

1 回答 1

1

首先,您应该选择以下方式之一:

1) 将登录信息和用户信息保存在单独的表中,并让 SimpleMembership(SM) 执行其默认工作。

2) 使用现有表存储用户信息并告诉 SM 哪个表用于。

方法一:

要处理这种方法,您所需要的只是手动创建用户(我认为就像您所做的那样)并在负责创建客户的操作方法中添加额外的一行:

[HttpPost]        
public ActionResult Create(Customer model)
{
    if (ModelState.IsValid)
    {            
        db.Customers.Add(model);
        try
        {
            db.SaveChanges();

            // here it is ...
            WebSecurity.CreateUserAndAccount(model.Phone, model.Password);
        }
        catch 
        {
            insertError = true;
        }
        // .. Other codes ...
} 

现在,您的客户可以使用他们的电话号码简单地登录该网站。作为用户名和密码。

要检索与当前登录到站点的特定用户相关的项目,只需使用以下查询:

public ActionResult Index()
{
    return View(db.Mains.Where(m => m.AccountNumber == User.Identity.Name)
        .ToList());
}

如果您还需要方法二,请告诉我更新我的答案并将其放在这里

于 2013-08-14T07:11:02.367 回答