我有5个用户角色。他们是管理员,分销商,微分销商,经销商和用户.Admin有权访问其他用户的所有页面以及所有CRUD操作。所有这些用户都有与其他用户不同的字段如果经销商注册他的详细信息,那么存储在SQL服务器数据库中的寄存器表中的值。这对于所有角色都是相同的。所有用户列的基本详细信息相同。但是银行详细信息和商店详细信息等其他详细信息是分销商的额外列。因此,您可以将注册详细信息存储到一列或不同的列。但是用户可以根据他们的角色登录他们的帐户,即如果经销商尝试登录,那么服务器必须检查数据库中是否存在这样的经销商。如果是的然后他重定向到他的个人资料页面。我需要mvc4或mvc3中的这个问题的完整模型视图和控制器源代码。你可以使用sql server数据库进行这个动作......
我使用以下代码段进行登录操作
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(UserLogon u)
{
if (ModelState.IsValid)
{
using (TranzEntities2 dc = new TranzEntities2())
{
var v = dc.tbl_User.Where(a => a.user_name.Equals(u.user_name) && a.password.Equals(u.password)).FirstOrDefault();
if (v != null)
{
Session["LogedUserID"] = v.user_id.ToString();
Session["LogedUserFullname"] = v.first_name.ToString();
return RedirectToAction("Home");
}
else
{
ModelState.AddModelError("Error", "Login failed, Try again");
}
}
}
return View(u);
}
但它仅适用于一个表。我需要根据用户的角色检查用户登录。如果有人尝试登录,则自动检查用户属于哪个表。如果他属于经销商表,那么经销商页面登录成功后会重定向。