我正在关注本教程link
我有一个表用户 { iduser,用户,通行证,角色}
我正在使用此用户:string[] users = db.users.Select(t => t.user).ToArray();
而不是:string[] users = Users.Split(',');
可以吗?
我的问题在于角色:SiteRoles role = (SiteRoles)httpContext.Session["role"];
问:我在哪里为用户存储角色?
我的简化帐户控制器:
[HttpPost]
public ActionResult Login(LoginModel model)
{
HeliosEntities db = new HeliosEntities();
if (ModelState.IsValid)
{
bool userok = db.users.Any(t => t.user == model.UserName && t.pass == model.Password);
if (userok == true)
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
return RedirectToAction("Index", "Home");
}
{
ModelState.AddModelError("", "Incorect password or user!");
}
}
return View();
}
答案 0 :(得分:0)
快速浏览一下上面的链接就会发现它正在从会话中获得用户的角色:
(SiteRoles)httpContext.Session["role"];
因此您需要在用户登录时设置会话值,例如:
var userRole = Roles.Admin | Roles.User;
httpContext.Session["role"] = role;
我不知道您在哪里存储有关用户所处角色的信息。